Skip to main content

Full text of "Hardware-Erweiterung für ZX Spektrum"

See other formats


HARDWARE- 

AMATEUR 

ERWEITERUNG  FÜR 
ZX  SPECTRUM 

BIBLIOTHEK 

Jörg  Reinmuth 


Jörg  Reinmuth 


Hardware-Erweiterungen 
für  ZX  Spectrum 


Brandenburgisches 

Verlagshaus 


Reinmuth,  J.: 

Hardware-Erweiterungen  für  ZX  Spectrum.  - 
Berlin:  Brandenburgisches  Verlagshaus,  1990.  - 
96  Seiten:  87  Bilder,  19  Tabellen,  6  Programme 

ISBN  3-327-01030-7 

1.  Auflage 

©  Brandenburgisches  Verlagshaus,  Berlin  1990 
Computersatz:  System  SCLX 
Druck  und  buchbinderische  Weiterverarbeitung: 
Druckhaus  Schöneweide  -  3  4380-0 
Lektor:  Steffen  Würtenberger 
Zeichnungen:  Berit  Peschei 
Umschlaggestaltung:  Rosemarie  Lebek 
Redaktionsschluß:  15.  Januar  1990 
LSV  3539 

Bestellnummer:  747  3841 

DDR  6,20  M 


Vorwort 


Die  Vorzüge  von  Mikroelektronik 
und  Computertechnik  sind  sicher 
Jedem  Leser  ausreichend  bekannt. 
In  den  letzten  Jahren  hat  der 
Computer  auch  den  Heim-,  Hobby- 
und  Amateurbereich  erobert.  In 
der  DDR  dominieren  zumeist  8- 
bit -Systeme,  die  überwiegend  mit 
der  CPU  U  880  arbeiten.  Dieser 
zum  Z  80  kompatible  Mikroprozes¬ 
sor  kann  aufgrund  seiner  weiten, 
auch  internationalen  Verbreitung 
und  seiner  Leistungsfähigkeit 
schlechthin  als  der  8-bit-Pro- 
zessor  bezeichnet  werden. 
Vertreter  dieser  Geräteklasse 
aus  DDR -Produktion  sind  z.  B. 
KC  85,  Z  9001,  Z  1013  oder  AC  1. 
Als  internationaler  Vertreter 
sei  hier  der  ZX  Spectrum  ge¬ 
nannt,  der  inzwischen  als  Origi¬ 
nal  oder  durch  einige  mehr  oder 
weniger  kompatible  Nachbauten  in 
der  DDR  sowie  im  gesamten  RGW- 
Bereich  eine  so  weite  Verbrei¬ 
tung  gefunden  hat,  daß  es  Verlag 


und  Autor  angemessen  erschien, 
diese  Broschüre  herauszugeben. 
Das  vorliegende  Heft  wendet  sich 
an  den  fortgeschrittenen  Ama¬ 
teur,  der  mit  einfachen  und 
überschaubaren  Schaltungen  die 
Leistungsfähigkeit  seines  Heim¬ 
computers  erhöhen  möchte.  Einige 
Kenntnisse  der  digitalen  Schal¬ 
tungstechnik  werden  dabei  ebenso 
vorausgesetzt  wie  etwas  Lötpra¬ 
xis  und  Erfahrung  im  Umgang  mit 
elektronischen  Bauelementen,  Die 
vorgestel Iten  Schaltungen  sind, 
eventuell  mit  kleinen  Änderun¬ 
gen,  an  andere  U- 8 80- Systeme 
anpaßbar,  obwohl  in  dieser  Bro¬ 
schüre  immer  auf  den  ZX  Spectrum 
Bezug  genommen  wird.  Neben  einer 
detai 1 1 ierten  Beschreibung  der 
Hardware  wird  auch  Treibersoft¬ 
ware  angegeben,  um  die  Inbe¬ 
triebnahme  der  Schaltungen  zu 
erleichtern, 

Leipzig,  im  Frühjahr  1989 

Jörg  Relnmuth 


3 


I 


s 


I 


i.  Das  IMÖO-Prozessorsystei 


Das  Mikroprozessorsystem  U  680 
stellt  eine  Weiterentwicklung 
der  Systeme  6060  und  8085  dar. 
Zum  System  gehören  folgende  LSI- 
Schaltkreise: 

-  U  680 ,  CPU  (zentrale  Verarbei- 

tungseinheit) ; 

-  U  655 ,  PIO  (parallele  Ein- 

/Ausgahe) ; 

-  U  856 ,  SIO  (serielle  Ein-/Aus- 

ga he) ; 

-  U  657,  CTC  (Zähler/Zeitgeber); 

-  U  856 ,  DMA  (direkter  Speicher¬ 

zugriff)  . 

Alle  Schaltkreise  werden  vom 
VEB  Mikroelektronik  "Karl  Marx" 
Erfurt  in  n-Kanal -Silicon-Gate- 
Technologie  hergestellt  und  mit 
Ausnahme  des  CTC  in  einem  40- 
poligen  Plastgehäuse  verkappt. 
Der  CTC  wird  in  einem  28poligen 
Gehäuse  geliefert.  Die  Architek¬ 
tur  der  Schaltkreise  realisiert 
ein  einheitliches  System  mit 
folgenden  Merkmalen  [1]: 

-  Signal  Zuführung  über  zwei 
Systembusse  (Adreß-  und  Daten¬ 
bus)  und  eine  Reihe  von  Steu¬ 
erleitungen  (Steuerbus) ; 

-  einheitliches  Interruptregime 
mit  der  Möglichkeit  der  Prio¬ 
ritätsverkettung  der  Periphe¬ 
rieschaltkreise; 

-  hochgradige  Softwareprogram¬ 
mierbarke  it  der  schal  tkrei  s - 
spezifischen  Eigenschaften; 

-  gemeinsamer  Einphasensystem¬ 
takt; 

-  einheitliche  Spannungsversor¬ 
gung  von  +5  V. 

Das  System  wird  komplettiert 
durch  den  Einsatz  von  Festwert- 
spe i ehern ,  Sehr e ib-Le  s  e - Spe i - 


ehern  und  Standard-Logikschal t- 
kreisen. 

Neuer  e  Interface - Scha 1 tkr e i s  e 

wie  die  Typen  U  62550  (SCC; 
Serial  Cornnunication  Controller 
-  serielle  Ein-/Ausgabesteue- 
rung)  und  U  82536  (CIO:  Count er- 
/Timer  and  parallel  I/O  unit  - 
Zähler/Zeitgeber  und  parallele 
Ein-/Ausgabeeinheit)  werden  hier 
nicht  besprochen,  da  sie  zum 
Zeitpunkt  der  Manuskripterarbei- 
t  tung  für  den  Amateur  noch  nicht 
greifbar  waren.  Sie  werden  aber 
in  Zukunft  für  komplexe  System¬ 
lösungen  zunehmende  Bedeutung 
erlangen. 


1.  i.  CPU  U  ÖÖO 

Der  Prozessor  U  880  ist  das  Herz 
des  Systems.  Er  ist  aufwärtskom¬ 
patibel  zum  weit  verbreiteten 
Prozessor  8080,  d.  h.  alle  im 
8080  enthaltenen  Möglichkeiten 
sind  auch  im  U  880  vorhanden. 

Die  Weiterentwicklung  der  U-860- 
CPU  (CPU:  Central  Processing 
Unit  -  zentrale  Verarbeitungs- 
einhelt)  bezieht  sich  vor  allem 
auf  einen  effizienteren  Befehls¬ 
satz  und  auf  das  Interrupt ver¬ 
halten. 

Der  Befehlssatz  des  U  880  umfaßt 
158  Grundbefehle  mit  16-bit-'f  8- 
bit-,  4-bit-  und  Einzelbitopera¬ 
tionen  sowie  Ein-/Ausgabe-  und 
Blockbefehlen.  Der  Schaltkreis 
enthält  einen  internen  stati¬ 
schen  RAM,  zu  dem  der  Program¬ 
mierer  Zugriff  hat.  Dieser  RAM 
ist  unterteilt  in  18  8-bit-Re- 


5 


System¬ 
steuer - 
Signale 


CPU- 
Steuer- 
_  Signale 


Bus- 

steuer- 

signale 


Ml  - 

MREQ  - 
IORQ  - 
RD  - 
WB  - 

RFSH  - 

hält  - 
ÜBT  - 
Int  - 

NMl  “ 

RESET  - 

BÜSRQ- 

BUSAK- 


CP 

Ucc 

öss 


27 

30 

31 

19 

32 

20 

33 

21 

34 

22 

35 

36 

28 

37 

38 

18 

39 

40 

24 

U  880 

1 

2 

16 

3 

17 

4 

5 

26 

14 

25 

15 

23 

12 

8 

9 

6 

9 

11 

10 

29 

13. 

Ao 

Ai 

A2 

A3 

Aa 

a5 

a6 

a7 

a8 

a9 

A10 

An 

A12 

Al3 

Aia 

ais 

Do 

Di 

D2 

d3 

Da 
Ds 
De 
D  7 


Adreßbus 


Datenbus 


Bild  1.  1  Schematische  Anschlußbelegung  der  CPU  U  660 


glster  und  4  16-bit-Register. 
Die  Anschlüße  legung  der  CPU 
U  660  zeigt  Bild  1.  1.  Uber  Be¬ 
fehlssatz  und  Programmierung  ge¬ 
ben  z.  B.  [1],  [2]  und  [3]  um¬ 

fassend  Auskunft. 


1.  2. 


PIO  U  655 


System  - 
datenbus 


System - 
Steuerbus 


Do  - 

Di 

D2  - 

D3  - 

Da  - 

Ds  “ 

De  - 

D7 

B/ÄSEL- 

C/DSEL- 

CE 

Ml 

iöKö  - 

RD  - 


Interrupt- 

Steuerung 


Ucc 

Uss 

CP 

IE! 

IE0 

INT 


19 

15 

20 

14 

1 

13 

40 

12 

39 

10 

38 

9 

3 

8 

2 

7 

6 

18 

5 

4 

U  855 

16 

37 

27 

36 

28 

35 

29 

30 

26 

31 

11 

32 

25 

33 

34 

24 

22 

21 

23 

17 

Die  PIO  (Parallel  Input/Output  - 
parallele  Ein-/Ausgabe)  U  655 
ist  die  parallele  Ein-/Ausgabe¬ 
einheit  des  Systems  U  660. 


Ai 

A2 

a3 

Aa 

As 

A6 

a7 


ARDY 

ASTB 


Bi 

B2 

b3 

Ba 

Bs 

Be 

B7 

BRDY 

BSTB 


Kanal  A 


Kanal  B 


Bild  1.  2  Schematische  Anschlußbelegung  der  PIO  U  655 


6 


Der  Schaltkreis  enthält  zwei 
Komplette,  nach  außen  TTL -Kompa¬ 
tible  8-bit-Ein-/Ausgabetore 
einschließlich  der  dazugehörigen 
SteuerlogiK  und  ist  in  seinen 
wesentlichen  Eigenschaften  soft- 
wareprogrammierbar.  Bild  1,2 
zeigt  die  Anschlußbelegung.  Die 
Zusammenschaltung  der  PIO  U  655 
mit  dem  Prozessor  U  660  erfor¬ 
dert  Keine  weiteren  ptandardbau- 
elemente,  ausgenommeh  Adreßdeko¬ 
der,  Datenbustreiber  und  Inter¬ 
rupt  -KasKadierungslogiK  bei  den 
größeren  Systemen.  In  Abhängig¬ 
keit  von  der  TaKtfrequenz  des 
Prozessors  Kommen  die  PIO-Typen 
VA  655  (4  MHz),  UB  655  (2,5  MHz) 
und  UB  655  St  (1  MHz)  zum  Ein¬ 
satz.  Im  allgemeinen  lassen  sich 
die  Schaltkreise  aber  auch  bei 
höheren  als  den  angegebenen  Fre¬ 
quenzen  betreiben.  Die  PIO  be¬ 
legt  im  Adreßraum  eines  Mikro¬ 
rechners  4  Adressen,  die  paar¬ 
weise  den  Kanälen  A  und  B  als 
Steuer-  bzw.  Datenwortadressen 
zugeordnet  sind.  Unter  Verwen¬ 
dung  der  PIO  U  655  kann  der 
gesamte  Datentransfer  eines  Mi¬ 
krorechners  unter  vol 1  ständiger 
I nt  errupt Überwachung  dur chg  e - 
führt  werden.  Diese  Problematik 
wird  hier  nicht  ausführlich  be¬ 
handelt.  Weil  die  PIO  U  655  aber 
Bestandteil  einiger  Schaltungen 
dieses  Buches  ist,  wird  im  fol¬ 
genden  ihre  Programmierung  kurz 
dargestellt.  Weit er führ ende  Ein¬ 
zelheiten  können  z.  B.  [1],  [2] 
entnommen  werden.  Die  Program¬ 
mierung  der  PIO  sowie  aller  an¬ 
deren  Peripherieschaltkreise  er¬ 
folgt  mit  OUT-Befehlen  an  die 
entsprechende  Steuerwortadresse. 
Die  PIO  ist  für  den  Betrieb  mit 
der  CPU  U  860  in  der  sehr  lei- 
stungsf  ähigen  Interruptbetriebs¬ 
art  2  ausgelegt.  In  dieser  Be¬ 
triebsart  wird  innerhalb  eines 


I  nt  errupt  anerkennung  s  zyk  1  us  der 
CPU  von  der  PIO  ein  sogenannter 
Interruptvektor  auf  den  Datenbus 
gelegt,  der  (als  niederwertiger 
Teil)  zusammen  mit  dem  Inhalt 
des  I -Registers  der  CPU  (als 
höherwertiger  Teil)  einen  16- 
bit-Zeiger  bildet,  der  auf  eine 
Speicheradresse  zeigt.  Dieser 
und  der  folgende  Speicherplatz 
enthält  die  Startadresse  für  die 
Interruptroutine.  Der  Interrupt¬ 
vektor  wird  der  PIO  als  erstes 
Steuerwort  mitgeteilt;  er  kann 
entfallen,  wenn  in  keiner  Inter¬ 
ruptbetriebsart  gearbeitet  wird. 
Das  Steuerwort  hat  folgendes 
Format : 

D7  D6  D5  D4  D3  D2  Dl  DO 

V7  V6  V5  V4  V3  V2  VI  VO 

Mit  PIO-Kanal  A  sind  4  Betriebs¬ 
arten  (Moden)  realisierbar: 

Mode  0:  Byte-Ausgabe 
Mode  1 :  By t e -Ei ng abe 
Mode  2:  Byte -Ein- /Ausgabe 
Mode  3:  Bit-Ein-/Ausgabe 

Kanal  B  kann  nur  in  den  Be¬ 
triebsarten  0,  1  und  3  arbeiten. 

Das  Betriebsartensteuerwort  hat 
das  Format 

D7  D6  D5  D4  D3  D2  Dl  DO 

Ml  MO  X  x  1  1  1  1 

mit  folgender  Zuordnung  von  Ml 
und  MO  zu  den  Betriebsarten: 

Ml  MO  MODE 

0  0  0 

0  1  1 

1  0  2 

1  1  3 

Nicht  verwendete  Bits  werden 
hier  und  im  folgenden  mit  x  ge¬ 
kennzeichnet  und  zur  Vereinheit¬ 
lichung  konsequent  auf  0  ge¬ 
setzt.  Nur  für  die  Betriebsart  3 
(in  der  alle  acht  Portleitungen 
eines  Kanals  unabhängig  vonein- 

7 


/ 


! 


ander  als  Ein-  oder  Ausgänge 
definiert  werden  Können)  gelten 
3  weitere  Steuerwörter.  Mit  dem 
ersten  wird  die  Funktion  der 
Portleitungen  als  Ein-  oder 
Ausgang  festgelegt.  Dabei  gilt 
die  Zuordnung  0  =  Ausgang,  1  = 
Eingang. 


D7 

D6 

D5 

D4 

E/A7 

E/A6 

E/A5 

E/A4 

D3 

D2 

Dl 

DO 

E/A3 

E/A2 

E/Al 

E/AO 

Das  nächste  Steuerwort  dient  der 
Interrupt Steuerung.  Es  Kann  wie 
auch  das  folgende  wieder  entfal¬ 
len,  wenn  in  Keiner  Interruptbe¬ 
triebsart  gearbeitet  wird. 


D7 

D6 

D5 

D4 

INT 

UND/ 

LOW/ 

Maske 

ODER 

HIGH 

folgt 

D3 

D2 

Dl 

DO 

0 

1 

1 

1 

D7 

0: 

Interrupt  gesperrt 

D7 

= 

1: 

Interrupt  freigegeben 

D6 

r 

0: 

UND-Verknüpfung  der 

Interrupt aus 1 ö senden 

Leitungen 

D6 

= 

1: 

ODER-Verknüpfung  der 

i nt  errup t  aus lös  enden 

Leitungen 

D5 

= 

0: 

aktiver  Pegel  LOW 

D5 

= 

1: 

aktiver  Pegel  HIGH 

D4 

- 

0: 

Maske  folgt  nicht 

D4 

= 

1: 

Maske  folgt 

Sofern  ^ m  Interrupt Steuerwort 
bit  4  auf  1  gesetzt  wurde,  wer¬ 
tet  der  PIO-Kanal  das  nächste  an 
ihn  gerichtete  Steuerwort  als 
Maske.  Damit  wird  festgelegt, 
welche  der  Kanal  lei tungen  auf 
die  Interruptbildung  Einfluß 
nehmen.  Die  Kanal  lei  tungen  haben 
Einfluß  auf  die  Interruptbil¬ 
dung,  wenn  das  entsprechende  Bit 
im  MasKierungssteuerwort  auf  0 
gesetzt  ist. 


D7 

D6 

D5 

D4 

MB7 

MB6 

MB5 

MB4 

\  D3 

D2 

Dl 

DO 

MB3 

MB2 

MB1 

MBO 

Das  letzte  Steuerwort  hat  wieder 
Bedeutung  für  alle  4  Betriebsar¬ 
ten  der  PIO.  Es  hat  das  Format 

D7  D6  D5  D4 
Interrupt-  x  x  x 
Freigabe 

D3  D2  Dl  DO 
0  0  11 

und  dient  der  Beeinf lussung  der 
Interrupt frei gäbe.  Mit  D7  =  0 
wird  die  Weiterl ei tung  eines  In¬ 
terrupts  verhindert,  mit  D7  =  1 
erlaubt.  Auch  wenn  nicht  in 
einer  Interruptbetriebsart  gear¬ 
beitet  wird,  sollte  dieses  Steu¬ 
erwort  (dann  mit  D7  =  0)  ausge¬ 
geben  werden,  um  unvorhersehbare 
Interruptanforderungen  mit  Si¬ 
cherheit  auszuschließen. 


i.  3.  SIO  U  656 

Die  SIO  U  656  ist  die  zum  System 
U  660  gehörige  serielle  Ein- 
/Ausgabe-Einheit  (SIO:  Serial 
Input/Output  -  serielle.  Ein- 
/Ausgabe),  Der  Schaltkreis  ent¬ 
hält  4  unabhängige  serielle. 
Ports,  die  in  Je  2  Sender-  und 
Empfänger ports  unterteilt  sind. 
Durch  Software  programmierbar 
sind  eine  Vielzahl  von  Betriebs¬ 
arten.  Einstellbar  sind  unter 
anderem  die  Anzahl  der  übertra¬ 
genen  Bits  pro  Zeichen,  Anzahl 
der  Stopbits,  Art  der  Parität 
(gerade,  ungerade  oder  Keine), 
verschiedene  TaKtvar  1  ant  en, 
automatische  Prüf  summenbi  1  düng 
'und  -Kontrolle,  Null-  und  Flag- 
Einfügung  und  vieles  andere 
mehr,  Details  zur  -umfangreichen 


8 


System¬ 

daten¬ 

bus 


System- 

steuer- 

bus 


Inter- 

rupt- 

steuer- 

ung 


Oo  - 

Di  ■ 
D2  ,  ■ 
D3 

•Da  ■ 
05  ■ 
De  - 

O7 

RESET  - 
B/ASEL 
ODSEL- 

£ 

Ml  - 
I0RQ  - 

m  - 

UCc  - 
Dss  ’ 
CP 

IEI 

IE0  - 
INT  - 


40 

12 

1 

13 

39 

15 

2 

14 

38 

11 

3 

10 

37 

4 

17 

18 

21 

16 

34 

33 

U  856 

19 

35 

28 

8 

27 

36 

26 

32 

29 

30 

9 

31 

24 

20 

23 

25 

6 

22 

7 

5 


RxDA 
RxCA 
TxDA 
Tx  CA 
SYNCA 
W/RDYA 


Kanal  A 


•  RTSA  1 

-  CTSA  I  Modem  - 
ÖTO  [  Steuerung 

DCDÄ  J 


RxDB 

RxTxCB 

TxDB 

SYNCB 

W/RDYB 


RTSB 

CTSB 

CTRB 

DCDB 


Modem  - 
Steuerung 


Kanal  B 


Bild  1 .  3  Schematische  Anschlußhel egung  der  SIO  U  656 

Programmierung  der  SIO  U  856  1.4.  CTC  U  857 

Können  [2]  entnommen  werden.  Die 


Ansclilußbelegung  zeigt  Bild  1.  3.  Der  CTC  U  857  ist  der  Zähler- 

/Zeitgeber-Baustein  des  Systems 
U  880  (CTC:  Counter/Timer-Cir- 
cuit  -  Zähler/Zeitgeber-Schalt- 


» 


System¬ 

daten¬ 

bus 


System- 

steuer- 

bus 


Interrupt 

Steuer 

ung 


Do  “ 
Di  “ 
D2  “ 

d3  - 

D4  - 
De  - 
De  - 
07  - 

KS0  - 
KSi  - 
CE  - 
Ml  - 
IORQ- 
RD  - 
RESET- 

Ucc  - 
Uss  - 
CP  - 

IEI  - 
IEO  - 
iFJT  - 


25 

26 
2  7 
28 

1 

2 

3 

4 

18 

19 

16 

14 

10 

6 

17 


23 

7 


22 

8 


21 

9 

U  857 

20 


24 

5 

15 

13 

11 

12 


ss-]— 

ST]“-’ 

“l! 

CLK/TRG{]  Kanal  3 


Bild  1.  4  Schematische  Anschlußhel egung  des  CTC  U  857 


9 


Kreis).  Der  Schaltkreis,  dessen 
Anschlußbelegung  im  Bild  1.4  an¬ 
gegeben  ist,  enthält  4  voneinan¬ 
der  unabhängige  und  durch  Soft¬ 
ware  programmierbare  8-bit-Zäh- 
1 er/ 1 6-bi t-Zei tgeber-Kanäl e. 

Die  maximale  Zälfrequenz  beträgt 
stets  die  Hälfte  des  Systemtak¬ 
tes,  also  z.  B.  1,25  MHz  bei 
einer  Systemtaktfrequenz  von 
2,  5  MHz.  In  der  Betriebsart 
Zeitgeber  'beträgt  die  Zeitra¬ 
ster-Interval  1  -Auflösung  16  odep 
256  Systemtaktperioden  entspre¬ 
chend  einem  Vorteilerfaktor,  der 
Bestandteil  eines  Steuerwortes 
ist.  Die  Kanäle  sind  zur  Erwei¬ 
terung  des  Zählumfangs  und  zur 
gegenseitigen  Triggerung  kaska- 
dierbar.  Allerdings  ist  der  Aus¬ 
gang  des  Kanals  3  wegen  der  Be¬ 
schränkung  auf  ein  28poliges  Ge¬ 
häuse  nicht  heraus  geführt.  über 
die  Programmierung  geben  [1], 
[2]  Auskunft. 


1.  5.  DMA  U  858 

Der  DMA- Schaltkreis  (DMA  -  Di¬ 
rect  Memory  Access  -  direkter 
Speicherzügriff )  U  853  ist  ver¬ 
antwortlich  für  den  Datentrans¬ 
port  Uber  das  Bussystem  eines 
Mikrorechners  unter.  Umgehung  der 
CPU.  Die  DMA-Elnheit  ist  in  der 
Lage,  sowohl  eine  Datenübertra¬ 
gung,  eine  Suche  nach  einem 
maskierbaren  Byte  als  auch  eine 
Kombination  beider  Möglichkeiten 
zu  organisieren.  Als  maximale 
Dat  enüber  tr  agung  sg  e  s  chwindi  gke  i  t 
werden  für  die  4-MHz-Version  des 
U  353  2  MByte/s  und  für  die  2,  5- 
MHz-Version  1,25  MByte/s  angege¬ 
ben.  In  Kleincomputersystemen 
spielt,  der  DMA-Betrieb  aller¬ 
dings  nur  eine  untergeordnete 
Rolle,  zumal  im  Befehlssatz  der 
CPU  U  880  sehr  1  eistungsf ähige 
Blocktransfer-  (z.  B.  LDIR, 
OTIR,  INIR)  und  Blocksuchbefehle 
(z.  B.  CPIR)  zur  Verfügung  ste¬ 
hen.  Bild  1.5  zeigt  die  An¬ 
schlußbelegung  des  U  858. 


System¬ 

daten¬ 

bus 


System¬ 

steuer¬ 

signale 


Bus- 

steuer- 

ung 


Do 

Di 

02 

d3 

Da 

Ds 

De 

D7 


Ml 

10RQ 

MREQ 

RD 

WR 

mm 

BAI 

BÄÖ 


Ucc 
Uss . 
CP 


35 

6 

34 

5 

33 

4 

32 

3 

31 

2 

29 

1 

28 

i*  0 

27 

39 

24 

26 

23 

10 

U858 

22 

12 

21 

g 

20 

8 

19 

18 

15 

17 

14 

13 

25 

16 

11 

37 

30 

38 

7 

39 

Ao 

Ai 

A2 

a3 

Aa 

Ab 

A6 

a7 

a8 

Ag 

Aio 

An 

Ai2 

Ai3 

Aia 

Aib 


System - 
adreflbus 


RDY 

CE/WA1T 

INT/PÜLSE  : 

IEI 

IE0 


DMA- 

Steuerung 


Interrupt¬ 

steuerung 


Bild  1.  5  Schematische  Anschlußhel  egung  des  BMA  U  858 


10 


2 


Der  Aufbau  eines  Kleincomputers 


Der  Aufbau  aller  Kleincomputer 
Ist  im  Prinzip  ähnlich.  Sie 
enthalten,  meist  auf  nur  einer 
Platine,  einen  Mikroprozessor, 
Speicher  und  verschiedene  Ein- 
/  Ausgabe-Einheiten  sowie  Schal¬ 
tungen  zur  Be triehsspannungs Ver¬ 
sorgung.  Daraus  ergibt  sich  das 
e  inf  ache  über  s  i  cht  s  scha  1  tbi  1  d 
nach  Bild  2.  1,  Der  Mikroprozes¬ 
sor  sorgt  für  die  Ausführung  der 
im  Speicher  abgelegten  Befehle 
und  ist  für  die  Verwaltung  des 
gesamten  Systems  verantwortlich. 
Im  Speicher  sind  Daten  und  Pro¬ 
gramme  abgelegt.  Es  existieren 
verschiedene  Spei eher typen,  die 
in  Nur-Lese-Speicher  (Read-Only 
Memory  -  ROM)  und  Schreib-Lese- 
Speicher  oder  Speicher  mit  wahl¬ 
freiem  Zugriff  (Random-Access- 
Memory  -  RAM)  unterschieden 


Bild  2.  1  Einfaches  Ubers  1  cht  s  - 
schalthlld  eines  Kleincomputers 

werden.  Die  Ein- /Ausgabe -Einhei¬ 
ten  dienen  hauptsächlich  der 
Bedi  ener-Comput  er-Kommunlkat  i  on. 
In  erster  Linie  zu  nennen  sind 
hier  Tastatur  und  Bildschirm 
Dazu  gehört  aber  auch  der  An¬ 
schluß  externer  Massenspeicher 
(Magnetband  oder  Floppy-Disk) 
zur  dauerhaften  Speicherung  von 
Programmen  und  Daten. 


11 


I 


3,  SpezialschaltKreise  für  Kleincomputer 


Im  Hinblick  auf  eine  Minimierung 
der  Hardware  und  damit  verbunde¬ 
ne  geringere  Produktionskosten 
und  Ausf  al  1  Wahrscheinlichkeiten 
existieren  international  eine 
Vielzahl  von  Schaltkreisen,  die 
speziell  für  Kleincomputer,  Ja 
oft  für  einen  speziellen  Gerate¬ 
typ  entworfen  wurden.  Sie  sind 
meist  mit  einem  Kürzel  entspre¬ 
chend  Ihrer  Funktion  benannt  - 
Beispiele  dafür  sind  SID  (Sound 
Generator),  VIC  (Video  Control¬ 
ler)  oder  das  aus  dem  ZX  Spec¬ 
trum  bekannte  ULA  (Uncomnitted 
Logic  Array)  -  und  ersetzen  eine 
oft  große  Zahl  von  Standardbau¬ 
elementen,  denen  sie  durch  ihre 
teilweise  Programnierbarkeit  oft 
noch  überlegen  sind.  So  ist  das 
ZX -Spectrum- ULA  z.  B.  verantwort¬ 
lich  für  den  Bildaufbau,  die 
Tastaturabfrage,  die  Kontrolle 
der  Ein- /Ausgabeeinheiten  für 
Kassettengerät  und  Lautsprecher, 
ferner  für  die  Takt  auf  bei'eitung, 


die  Interruptgenerierung,  Deko¬ 
dierung  verschiedener  Speicher¬ 
bereiche,  Erzeugung  spezieller 
Signale  für  die  dynamischen 
Speicher  und  anderes  mehr  [4] , 
[5],  [6],  Diesem  ULA  und  einem 

weiteren  Schaltkreis,  der  die 
gesamte  PAL -Aufbereitung  des 
Video-Signals  übernimmt,  ist  es 
wohl  in  erster  Linie  zu  verdan¬ 
ken,  daß  (natürlich  mit  einem 
fast  genial  zu  nennenden  System¬ 
konzept)  der  ZX  Spectrum  ein 
Rechner  in  einem  winzigen  Gehäu¬ 
se  ist,  der  keine  Konkurrenz  in 
seiner  Klasse  scheuen  muß.  Das 
gilt  umsomehr,  wenn  man  ihn  mit 
etwas  Zusatzhardware  zu  noch  hö¬ 
herer  Leistungsfähigkeit  ausge- 
„  baut  hat.  Als  nachteilig  an  der 
Verwendung  dieser  speziellen 
Schaltkreise  erweist  sich,  daß 
sie  im  Reparaturfall  sehr  schwer 
beschaffbar  sind  und  daß  über 
sie  meist  nur  sehr  spärliche 
technische  Unterlagen  existie¬ 
ren. 


13 


♦ 


4.  Adreßdekodierung 


Damit  ein  peripheres  Bauelement 
in  einem  Computersystem  über¬ 
haupt  angesprochen  wird,  ist  ein 
sogenannter  Geräteauswahl impul s 
notwendig,  der  über  einen  Ein¬ 
gang  dieses  Bauelement  akti¬ 
viert.  Dieser  Eingang  wird  oft 
mit  CS  (Chip  Select  -  Baustein¬ 
auswahl)  oder  CE  (Chip  Enable  - 
Bausteinfreigabe)  bezeichnet  und 
ist  bei  den  Peripheriebausteinen 
des  Systems  U  ööO  low-aktiv. 

Zur  Bildung  dieses  Auswahl impul - 
ses  werden  i.  allg.  die  8  nie¬ 
derwertigen  Adressen  AO  bis  A7 
und  die  Signale  IORQ,  WR  und  RD 
über  entsprechende  Dekoder  oder 
Gatter  verknüpft.  Dabei  wird 
zwischen  ein-  und  mehrdeutiger 
Dekodierung  unterschieden. 

Bei  der  mehrdeutigen  Dekodierung 
wird  nur  ein  Teil  der  Adreßlei¬ 
tungen  bzw.  nur  eine  einzelne 
Adreßleitung  zur  Auswahl  des 
Jeweiligen  peripheren  Bauelemen¬ 
tes  verwendet.  So  spricht  z.  B. 
die  Adreßleitung  AO  im  ZX  Spec¬ 
trum  direkt  das  ULA  an  (mit  AO  = 
0  und  IORQ  =  0).  Solche  Maßnah¬ 
men  vereinfachen  die  Hardware 
eines  Computers  zwar  erheblich, 


haben  aber  bei  der  Hardware - 
Erweiterung  eines  solchen  Rech¬ 
ners  gewisse  Beschränkungen  zur 
Folge.  Bei  konsequenter  Fortfüh¬ 
rung  dieser  Technik  lassen  sich 
nämlich  insgesamt  nur  8  E/A- 
Adressen  (entsprechend  der  8 
Adreßbits)  bilden,  wovon  eine 
einzige  PIO  schon  4  fordert. 
Darüber  hinaus  ergeben  sich  aber 
auch  softwareseitige  Konsequen¬ 
zen.  So  ist  der  Peripherie¬ 
baustein,  der  mit  AO  =  0  ange¬ 
sprochen  wird,  über  OUT-Befehle 
an  alle  geradzahligen  Adressen 
(also  128!)  erreichbar.  Günsti¬ 
ger,  besonders  bei  umfangreiche¬ 
ren  Hardware-Erweiterungen,  ist 
deshalb  die  eindeutige  Dekodie¬ 
rung.  Hierbei  kann  Jede  Adresse 
zwischen  0  und  255  genau  ein 
peripheres  Gerät  ansprechen.  Die 
Hardware  des  ZX  Spectrum  zwingt 
hier  allerdings  zu  einem  Kompro¬ 
miß,  da  gesichert  werden  muß, 
daß  ULA  (AO)  und  ZX-Drucker  (Al) 
nie  gleichzeitig  mit  einem  ande¬ 
ren  Peripheriegerät  aktiviert 
werden.  Mit  den  verbleibenden 
sechs  Adreßleitungen  sind  aber 
immer  noch  26  =  64  E/A-Einheiten 
ansprechbar. 


15 


I 


5,  Hardware-Erweiterungen 


Heim-  oder  Kleincomputer  stellen 
zumeist  in  sich  relativ  ge¬ 
schlossene  Systeme  dar.  Venn  bei 
der  Konzeption  nicht  schon  von 
einem  modularen  Aufbau  ausgegan¬ 
gen  wurde,  wie  beim  KC  65  oder 
beim  Z  1013 ,  fällt  eine  hardwa¬ 
reseitige  Erweiterung  des  Rech¬ 
ners  dem  mit  der  Rechentechnik 
weniger  vertrauten  Anwender  oft 
schwer.  Leider  ist  auch  der  ZX 
Spectrum  bei  der  Ausstattung  mit 
Schnittstellen  mehr  als  stief¬ 
mütterlich  behandelt  worden. 
Außer  dem  Magnetbandanschluß, 
der  Ja  im  Grunde  eine  serielle 
Schnittstelle  darstellt,  und  dem 
Anschluß  für  ein  Fernsehgerät 
(leider  auch  nur  über  HF)  sind 
in  der  Grundversion  Keine  weite¬ 
ren  Anschlußmöglichkeiten  vor¬ 
handen.  Im  folgenden  soll  daher 
gezeigt  werden,  wie  es  mit  rela¬ 
tiv  einfachen  Mitteln  möglich 
ist,  kleine  Computer  auch  hard¬ 
wareseitig  zu  erweitern.  Dabei 
wurde  Wert  auf  einfache,  über¬ 
schaubare  Schaltungen  gelegt, 
die  zum  größten  Teil  ln  Form  von 
Bauanleitungen  vorgestellt  wer¬ 
den.  Die  Platinen  liegen,  soweit 
möglich,  als  einseitige  Entwürfe 
vor,  um  den  Nachbau  zu  erleich¬ 
tern.  Dafür  müssen  u.  U.  einige 
Drahtbrücken  in  Kauf  genommen 
werden.  Bei  Notwendigkeit  zwei¬ 
seitiger  Platinen  wurden  Löt¬ 
inseln  für  Schaltkreise  auf  der 
Bestückungsseite  konsequent  ver¬ 
mieden.  Damit  ist  im  Falle  eines 
Bauelementedefekts  ein  leichtes 
Entfernen  des  Schaltkreises  ohne 
Beschädigung  der  Platine  mög¬ 


lich.  Die  erforderlichen  Durch¬ 
kontaktierungen  werden  mit 
Drahtstücken,  z.  B.  Anschlu߬ 
drähten  von  Widerständen,  reali¬ 
siert,  die  beidseitig  zu  verlö¬ 
ten  sind. 

Auf  Verträglichkeit  der  Module 
mit  dem  weit  verbreiteten  ZX- 
Drucker  wurde  geachtet,  obwohl 
mit  der  beschriebenen  PIO-Karte 
und  der.  entsprechenden  Software 
eine  Centronics-  sowie  eine 
V.  24-Schnittstelle  zur  Verfügung 
steht,  Die  Verträglichkeit  mit 
dem  Interface  1  und  den  aus 
heutiger  Sicht  als  veraltet 
geltenden  Microdrives  ist  nicht 
in  Jedem  Fall  gesichert.  Aller¬ 
dings  fällt  es  dem  erfahrenen 
Amateur  sicher  leicht,  die 
Adreßselektlon  seinen  Wünschen 
entsprechend  zu  ändern.  Damit 
wäre  dann  auch  eine  Anpassung 
der  Module  an  ahdere  U-ööO-Com- 
' putersysteme  denkbar. 

Soweit  erforderlich  und  vom 
Umfang  her  möglich,  wird  die 
entsprechende  Treibersoftware 
mit  angegeben.  Diese  Programme 
stellen  Minimal  Varianten  dar. 
Sie  lassen  damit  breiten  Spiel¬ 
raum  für  die  Anpassung  an  die 
Aufgabenstellung  beim  Anwender, 


5.  1.  Der  Erweiterungsanschluß 
des  ZX  Spectrum 

Auf  der  Rückseite  des  ZX  Spec¬ 
trum  stehen  auf  einem  2  x  28po- 
ligen  direkten  Steckverbinder 
alle  für  das  Betreiben  von  Hard¬ 
warezusätzen  erforderlichen  Si- 


17 


Tabelle  5.  1  Der  Bus  Steckverbinder  des 
ZX  Spectrum 


Signal 

Anschluß 

Signal 

Al  5 

1A 

1B 

A14 

Al  3 

2A 

2B 

Al  2 

D7 

3A 

3B 

+  5  V 

n.  a. 

4A 

4B 

+  9  V 

Verpol- 

5A 

5B 

Verpol 

schütz 

schütz 

DO 

6A 

6B 

Masse 

Dl 

7A 

7B 

Masse 

D2 

8A 

1  8B 

Takt 

D6 

9A 

9B 

AO 

D5 

10A 

10B 

Al 

D4 

11A 

HB 

Al 

D3 

12A 

12B 

A3 

INT 

13A 

13B 

IORQGE 

NMI 

14A 

14B 

Masse 

HALT 

15A 

15B 

VIDEO 

MREQ 

16A 

16B 

Y 

IORQ 

17A 

17B 

V 

RD 

18A 

18B 

U 

WR 

19A 

19B 

BUSRQ 

-5  V 

20A 

2  OB 

RESET 

WAIT 

21A 

21B 

A7 

+  12  V 

22A 

22B 

A6 

-12  V 

23A 

23B 

A5 

Ml 

24A 

24B 

A4 

RFSH 

25A 

25B 

ROMCS 

A8 

26A 

26B 

BUSAK 

A10 

27A 

27B 

'  A9 

n.  a. 

28A 

28B 

All 

(n.  a.  -  nicht  angeschlossen) 


gnale  und  Spannungen  zur  Verfü¬ 
gung.  Der  Steckverbinder  besteht 
aus  einer  oberen  (Bauteil-)  und 
einer  unteren  (Löt-)  Seite  der 
Computerplatine.  Die  Anschlüsse 
tragen  die  Bezeichnung  1A  bis 
28A  auf  der  Oberseite  und  1B  bis 
28B  auf  der  Unterseite  (Tabelle 
5.1). 

Die  Funktion  der  CPU-Signale 
wird  als  bekannt  vorausgesetzt. 


Deshalb  wird  an  dieser  Stelle 
nur  auf  die  Spannungsversorgung 
und  die  für  den  ZX  Spectrum  spe¬ 
zifischen  Signale  eingegangen: 

-5  V  (20A):  Es  liegt  eine  Span¬ 
nung  von  -5  V  an,  die  von  einem 
internen  Transverter  erzeugt 
wird.  Diese  Spannung  darf  extern 
nur  mit  5  mA  belastet  werden. 

+12  V  (22A) ;  Diese  Spannung  wird 
ebenfalls  von  dem  genannten 


Transverter  erzeugt.  Sie  darf 
mit  höchstens  10  mA  belastet 
werden. 

-12  V  (23A):  Dieser  Anschlup 
führt  eigentlich  Keine  -12  V, 
sondern  eine  hochfrequente  Wech¬ 
sel  Spannung,  aus  der  die  -12  V 
aber  mit  einer  Zusatz  Schaltung 
gemäß  Bild  5.  1  gewonnen  werden 
Können.  Belastbar  ist  dieser  An¬ 
schluß  mit  etwa  10  mA. 


Anschluß  23 A  °- 


GND  *- 


10/16 

270 

°  Ul  ' 

2 

t  i - 1  1 

l  “10/16  2 

i 

O - - 

i — L. — . 

- 0 

1  Masse 


•  2xSAY17  SZX  21/12 

Bild  5.  1  Schaltung  zur  Gewin¬ 
nung  der  -12  V 


+5  V  (3B):  An  diesem  Anschluß 
steht  die  intern  stabilisierte 
Versorgungsspannung  zur  Verfü¬ 
gung.  Diese  Spannung  Kann  extern 
mit  etwa  200  mA  belastet  werden, 
bei  höherer  Stromentnahme  Kann 
es  zu  thermischen  Problemen  Kom¬ 
men. 

+9  V  (4B):  Vom  Netzteil  gelie¬ 
ferte  Rohspannung.  Mit  einer 
externen  Stabi 1 isierungsschal - 
tung  Kann  die  Betriebsspannung 
für  Verbraucher  mit  höherer 
Stromaufnahme  (bis  etwa  0,  5  A) 
gewonnen  werden. 

IORQGE  (13B):  Dieses  Signal 

stellt  die  logische  AND-VerKnüp- 
fung  der  Prozessor-Signale  IORQ 
und  AO  dar.  Es  signalisiert 
einen  aKtivierten  ULA-Schalt- 
Kreis. 

VIDEO,  Y,  V,  ü  (15B  bis  1ÖB) : 

Diese  Signale  stehen  im  Zusam¬ 
menhang  mit  der  Bildsignalauf- 
bereitung  des  ZX  Spectrum. 

ROMCS  (ROM  CHIP  SELECT,  25B)  : 
Bei  H-Pegel  an  diesem  Anschluß 
wird  das  interne  ROM  abgeschal¬ 
tet.  Es  Können  dann  externe  ROMs 
oder  RAMs  mit  anderen  Programmen 
eingeblendet  werden. 


5. 2.  Reset-Taste 

Die  Reset-Taste  legt  bei  Betäti¬ 
gung  den  low-aKtiven  RESET- Ein¬ 
gang  des  Z  30  auf  Masse.  Mit  der 
L/H-FlanKe,  also  bei  Loslassen 
der  Taste,  beginnt  der  Prozessor 
(neben  einigen  anderen  AKtivi tä¬ 
ten)  mit  dem  Abarbeiten  des  Pro¬ 
gramms  ab  Adresse  0000. 

Dadurch  wird  das  gesamte  im  RAM 
befindliche  Programm  gelöscht, 
da  im  Betriebssystem  des  Spec¬ 
trum  eine  Initialisierungsrou¬ 
tine  eingebaut  ist.  Insofern  ist 
diese  Taste  nur  als  äußerste 
"Notbremse”  zu  verstehen,  wenn 
der  Rechner  in  einer  endlosen 
Schleife  festhängt  und  die  Ta¬ 
staturabfrage  nicht  mehr  funk¬ 
tioniert.  Immerhin  dient  sie 
aber  der  Schonung  des  schwer 
beschaffbaren  HohlstecKers  für 
die  9-V-Versorgung,  mit  dem 
bisher  Reset  ausgelöst  wurde. 

Bei  Ersatz  des  internen  ROM 
durch  einen  EPROM  Kann  die  ge¬ 
nannte  Routine  vorteilhaft  ent¬ 
fernt  werden.  Seit  einiger  Zeit 
sind  auch  sogenannte  ISO-ROMs 
verfügbar,  die  mit  Reset  ohne 
Programmverlust  arbeiten. 
Zwischen  dem  Reset-Anschluß  der 
CPU  und  Masse  ist  ein  EleKtro- 
lytKondensator  angeordnet,  der 
in  Verbindung  mit  einem  Wider¬ 
stand  für  das  Einschal treset 
sorgt.  Dieser  Kondensator  wird 
beim  Betätigen  der  Reset-Taste 


Bild  5.  £  Anschluß  einer  RESET - 
Taste 


19 


kurzgeschlossen.  Es  ist  deshalb 
empfehlenswert,  in  Reihe  mit  der 
Reset-Taste  einen  Widerstand  von 
10  bis  100  Q  zur  Strombegrenzung 
zu  schalten.  Bei  Einsatz  einer 
Elastomertaste  (z.  B.  TSE  15)  ist 
das  nicht  erforderlich,  da  deren 
Kontaktwiderstand  im  geschlosse¬ 
nen  Zustand  nicht  Null  ist. 


5.  3.  Video-Anschluß 

Das  direkte  Einspeisen  des  Vi¬ 
deo-Signals  in  einen  Fernsehemp¬ 
fänger  ergibt  ein  wesentlich 
schärferes  und  kontrastreicheres 
Bild,  da  der  gesamte  HF-Trakt 
sowohl  im  Fernsehgerät  als  auch 
im  Computer  umgangen  wird.  Dazu 
ist  ein  kleiner  Eingriff  ln  das 
Fernsehgerät  notwendig,  der  von 
einem  Fachmann  oder  versierten 
Amateur  auszuftlhren  ist.  Voll- 
transistorisierte  Fernsehempfän¬ 
ger  bieten  i.  allg.  die  Gewähr 
der  Netztrennung.  Allstromgeräte 
sind  aus  Sicherheitsgründen 
unbedingt  Uber  einen  Trenntrans¬ 
formator  zu  betreiben!  Sollte 
das  Video-Signal  des  ZX  Spectrum 
auf  dem  Bussteckverbinder  nicht 
nachweisbar  sein,  ist  im  Inneren 
des  Geräts  eine  Drahtbrücke 
nachzurüsten,  die  im  Be¬ 
st  ückungs  druck  der  Platine  ge¬ 
kennzeichnet  ist.  Die  einfachste 
Variante  ist  die  direkte  Verwen¬ 
dung  des  Video-Signals  vom  An¬ 
schluß  15B.  Oft  reicht  jedoch 
der  dort  anstehende  Pegel  für 
eine  ausreichende  Aussteuerung 
des  Fernsehempfängers  nicht  aus. 
In  diesem  Falle  ist  die  Verwen¬ 
dung  einer  Puff er stufe  ange¬ 
bracht,  die  gleichzeitig  für  die 
richtige  Anpassung  des  Wellenwi¬ 
derstands  sorgt.  Bild  5.  3  zeigt 
eine  solche  Schaltung.  In  man¬ 
chen  Fällen  kommt  es  bei  Verwen- 


Blld  5.  3  Puffers  tu  fe  für  das 
Video-Signal 

düng  des  Video-Signals  vom  Bus¬ 
steckverbinder  zu  mehr  oder  we¬ 
niger  stark  ausgeprägten  Bild¬ 
störungen  (Flimmern,  Moire). 

Hier  schafft  oft  die  Auskopplung 
des  Video-Signals  direkt  am  Mo¬ 
dulator  schon  Abhilfe,  manchmal 
kann  Jedoch  Abschalten  des  Farb¬ 
trägers  nötig  werden,  wie  es  ln 
[7]  beschrieben  wurde. 


5. 4.  Lichtstift 


Als  Lichtstifte  oder  Lichtgrif¬ 
fel  werden  Computer-Zusatzgeräte 
bezeichnet,  die  in  Verbindung 
mit  einem  entsprechenden  Steuer- 
programm  das  Auslösen  von  Reak¬ 
tionen  durch  Zeigen  auf  bestimm¬ 
te  Stellen  des  Computermonitors 
ermöglichen.  Wenn  es  Elektronik 
und  Steuerprogramm  erlauben,  die 
Positionsbestimmung  des  Licht¬ 
stiftes  während  eines  Bildauf- 
baus  zu  be werks  t  e 1 1 1 g  en ,  kann 
mit  dem  Lichtstift  auf  dem  Moni- 


SP  201 


l 


T 


I 


— o  +5-.+15V 
22  n 


-oAusg. 


1/A  V  4093 


Bild  5.  4  Schaltung  des  Licht¬ 
stiftes  mit  CMOS-Gatter 


20 


Bild  5.  5  Platine  für  die  Schal¬ 
tung  nach  Bild  5.  4 

tor  z.  B.  wahlfrei  gezeichnet 
werden.  Die  hier  heschri ebenen 
beiden  Schaltungen  halten  in 
Verbindung  mit  dem  verwendeten 
Programm  diesen  Echtzeitforde¬ 
rungen  nicht  stand.  Die  Posi¬ 
tionsbestimmung  erfordert  etwas 
mehr  Zeit,  dennoch  läßt  sich  die 
Wirkungsweise  von  Lichtstiften 
damit  gut  demonstrieren.  Die 
Schaltung  eines  Lichtstiftes  für 
die  beschriebenen  geringen  An¬ 
forderungen  ist  sehr  einfach 
aufgebaut.  Sie  besteht  aus  einem 
einzigen  Gatter  eines  CMOS- 
Schmitt-Trigger-NAND,  an  den  ein 
Fototransistor  mit  einem  Wider¬ 
stand  zur  Arbeitspunkteinstel¬ 
lung  angeschlossen  ist. 

Stromlauf plan,  Leiterbild  und 
Bestückungsplan  sind  in  den  Bil¬ 
dern  5.4  bis  5.6  dargestellt. 
Die  Leiterplatte  ist  so  gestal¬ 
tet,  daß  sie  in  ein  Gehäuse 
eines  leeren  Faserschreibers 
(Steppke-Stift  oder  Pfau-Dubbel) 
eingebaut  werden  kann.  Ange¬ 
schlossen  wird  der  Lichtstift  an 
die  EAP-Buchse  des  Spectrum , 
wodurch  der  Busstecker  für  wei¬ 
tere  Anwendungen  frei  bleibt. 

Die  Spannungsversorgung  kann 
vorteilhaft  durch  eine  Flachbat¬ 


terie  erfolgen,  natürlich  sind 
die  stabilisierten  5  V  des  Spec¬ 
trum  ebenso  geeignet.  Die  Funk¬ 
tion  der  Schaltung  ist  wegen  der 
geringen  Anzahl  der  Bauelemente 
leicht  zu  verstehen.  Der  Eingang 
des  CMOS-Gatters  liegt  durch  das 
Trimmpotentiometer  bei  unbe¬ 
leuchtetem  Fototransistor  auf  L- 
Potential,  sein  Ausgang  damit 
auf  H.  Bei  beleuchtetem  Foto¬ 
transistor  wird  dieser  leitend 
und  die  Verhältnisse  kehren  sich 
um.  Zur  Begrenzung  des  Ausgang s- 
stroms  des  Gatters  sind  im  Zu¬ 
sammenspiel  mit  dem  Spectrum 
keine  weiteren  Maßnahmen  erfor¬ 
derlich.  Sollte  für  andere  An¬ 
wendungen  eine  Strombegrenzung 
nötig  werden,  ist  der  mit  einem 
Pfeil  gekennzeichnete  Leiterzug 
auf  der  Platine  zu  durchtrennen 
und  ein  entsprechender  Wider¬ 
stand  einzufügen.  Die  unbenutz¬ 
ten  Gattereingänge  sind  auf 
definiertes  Potential  zu  legen. 
Eine  ebenfalls  mögliche,  aber 
nicht  ganz  so  empfindliche 
Lichtstift-Schaltung  mit  dem 
Initiator  schal  tkrels  A  301  D 
zeigt  das  Bild  5.  8.  Der  Wider¬ 
stand  zwischen  den  Anschlüssen  2 
und  4  zur  Festlegung  der  Hyste¬ 
rese  kann  gegebenenfalls  auch 
entfallen.  Das  ist  in  Abhängig¬ 
keit  vom  verwendeten  Monitor  und 
der  eingestellten  Grundhellig¬ 
keit  experimentell  zu  ermitteln. 
In  beiden  Schaltungen  kann  der 


Bild  5.  6  Bestückungsplan  der  Platine  nach  Bild  5.  5 


■i: 

Bild  5.  7  Musteraufbau  des  Lichtstiftes 


21 


SP  201^ 

13  1 

i  ■ 

X 

[J680 

3 

A301 

10 

•  °  t 

100k  jj 

n 

€ 

9 

=  22n 

Bild  5.  6  Lichtstiftschaltung 
mit  A  301 


Fototransistor  durch  lichtun¬ 
durchlässigen  LacK  etwas  gegen 
seitlich  einfallendes  Fremdlicht 
geschützt  werden.  Das  Trimmpo- 
tentiometer  ist  hei  gestartetem 
Programm  "Lpen  48"  in  die  Mitte 
des  Arbeitsbereichs  zu  stellen. 
Das  ist  der  Bereich,  in  dem  die 
Pfeile  auf  dem  Bildschirm  blin¬ 
ken.  Die  weitere  Kalibrierung 
erfolgt  nach  den  vom  Programm 
gegebenen  Hinweisen.  Vor  An¬ 
schluß  der  Betriebsspannung  ist 
das  Potentiometer  auf  größten 
Widerstandswert  zu  stellen!  Das 
Programm  MLpen  48"  würde  auf¬ 
grund  seines  ÜTnfangs  den  Rahmen 
dieses  Buches  sprengen.  Es  ist 
aber  mittlerweile  so  weit  ver¬ 
breitet,  daß  ein  Abdruck  nicht 
unbedingt  nötig  erscheint.  Des¬ 
halb  wird  an  dieser  Stelle  nur 
die  Programmbeschreibung  gege¬ 
ben.  Ein  Bildschirmpunkt  wird 
angewählt,  indem  der  Lichtstift 
an  diese  Stelle  gehalten  und 
eine  beliebige  Taste  gedrückt 
wird.  Daraufhin  wird  das  große 
Kreuz  an  diese  Stelle  bewegt. 

Die  Optionen  des  Bi ldschirmmenüs 
werden  ebenso  angewählt.  In  die¬ 
ser  Beschreibung  wird  das  große 
Kreuz  mit  +  und  das  kleine  Kreuz 
mit  x  bezeichnet. 


Bedeutung  der  Optionen: 


A  (arc)  zeichnet  einen  Bogen  von 
x  durch  die  letzte  Position  von 
+  zur  aktuellen  Position  von  + 


B  (border)  BORDER -Farbe  ändern 
C  (circle)  zeichnet  einen  Kreis 
durch  +  mit  Mittelpunkt  x 
D  (draw)  zeichnet  eine  Linie 
zwischen  beiden  Kreuzen 
E  (erase)  löscht  die  letzte 
Aktion 

F  (fill)  füllt  ein  umrandetes 
Gebiet,  in  dem  sich  +  befindet, 
mit  INK -Farbe 

H  (hand)  erlaubt  beliebiges 
Zeichnen  mit  dem  LP 
I  (Ink)  INK -Farbe  ändern 
K  (keep)  bedeutet,  daß  bis  zu 
vier  Bildschirme  im  RAM  abge¬ 
speichert  werden  können 
L  (letters)  schreibt  Text  ab  der 
Stelle  + 

M  (move)  bewegt  das  kleine  Kreuz 
x  auf  das  große  Kreuz  + 

H  (new)  löscht  den  Bildschirm 
P  (paper)  PAPER -Farbe  ändern 
R  (rectangle)  zeichnet  ein 
Rechteck  zwischen  den  Kreuzen 
R  (restore)  bedeutet,  gespei¬ 
cherte  Bilder  können  einzeln 
oder  zyklisch  abgerufen  werden 
T  (tape)  bedeutet,  Bildschirme 
können  vom/ auf  Band  geladen 
werden. 


5.  5.  Joystick-Anschluß 

Spielhebel  oder  Joysticks  sind 
zumindest  für  Kleincomputer  fast 
unentbehrliche  Zusatzgeräte.  Sie 
lassen  sich  sehr  vielseitig  ver¬ 
wenden,  obwohl  ihr  Haupteinsatz¬ 
gebiet  die  Steuerung  von  Compu¬ 
terspielen  sein  dürfte. 

Während  die  Realisierung  eines 
Joysticks  an  sich  ein  rein  me¬ 
chanisches  Problem  ist,  erfor¬ 
dert  der  Anschluß  des  Joysticks 
an  den  Computer  zumeist  etwas 
Zusatzhardware,  die  ln  der 
Grundversion  nicht  in  allen 
Kleincomputern  enthalten  ist.  Im 
folgenden  werden  einige  Varian- 


22 


ten  des  Joystick-Anschlusses  an 
den  ZX  Spectrum  vorgestellt,  die 
sinngemäß  auch  für  andere  Compu¬ 
ter-Typen  verwendet  werden  kön¬ 
nen. 


5.  5.  1.  Joystick-Anschluß  ohne 
Zusatzhardware 

In  den  meisten  Fällen  ist  die 
Steuerung  der  Bewegungsabläufe 
auf  dem  Bildschirm  auch  Uber  die 
Tastatur  möglich.  Es  liegt  daher 
nahe,  den  Joystick  einfach  den 
entsprechenden  Tasten  parallel 
zu  schalten.  Diese  Methode  er¬ 
fordert  zwar  genaue  Kenntnisse 
über  die  Anordnung  der  Tasten  in 
der  Tastaturmatrix  und  darüber 
hinaus  einen  Eingriff  in  den 
Rechner,  bietet  aber  dafür  den 
Vorteil  kaum  zu  übertreffender 
Einfachheit. 

Bild  5.9  zeigt  die  inzwischen 
international  genormte  Belegung 
des  Steuerknüppel -Anschlusses. 
Daraus  geht  hervor,  daß  neben  4 
Anschlüssen  für  die  Richtungs¬ 
wahl  und  einem  für  den  Trigger 
("Schußknopf " )  nur  eine  gemein- 


1  hoch 

2  runter 

3  links 

4  rechts 
6  Trigger 
8  gemeinsam 

Bild  5.  9  Genormte  Anschlußbele¬ 
gung  des  JoystlcK-StecKers 

same  Leitung  vorhanden  ist.  Bei 
der  Parallelschaltung  zur  Tasta¬ 
tur  ist  dem  Rechnung  zu  tragen, 
so  daß  die  verwendeten  Tasten 
alle  an  einer  gemeinsamen  Spal¬ 
ten-  bzw.  Zeilenleitung  ange¬ 
schlossen  sein  müssen.  Im  Bild 
5. 10  ist  die  Tastaturmatrix  des 
ZX  Spectrum  wiedergegeben.  Aus 
dem  eben  erwähnten  Grund  ist 
eine  Parallelschaltung  zu  den 
Cursor-Tasten  5  bis  ö  nicht 
möglich.  Deshalb  werden  die 
Tasten  6  bis  9  für  die  Rich¬ 
tungssteuerung  und  die  Taste  0 
für  den  Trigger  verwendet.  Auf 
diese  Weise  ist  sogar  ein  zwei¬ 
ter  Joystick  anschließbar,  der 
den  Tasten  1  bis  5  zugeordnet 
wird.  Bild  5.  11  stellt  die  Ver¬ 
bindung  der  beiden  Joystick- 
Buchsen  mit  den  Tastatur Steck¬ 
verbindern  auf  der  Platine  dar. 


All  — w- 


0£ 


A10 
A  9 

Caps  Shift 
A  8  — » 


2r 


V(l 


Zr  Xr 


Je 

Gr 

Yi 


r.6  r,  7  r.8  r.9  rr*) 


■U  -■> nQ. 


-,N 


-L  2 

i L  \ 


Ente' 


Symbol 
•i  Stoff 


43- 


43- 


43- 

Space 
+3- 


A12 
A  13 
A  14 
A  15 


Bild  5.  10  Tastaturmatrix  des  ZX  Spectrum 


7  8  9 


1  2  3  4  5 


' 


23 


Joystick  1 


Joystick  2 


5.  41  31211 


l9*8f7°6f 


4 


'fyc/ 


rj 


(54 


3t2 


•  6  6  ö 


•  ooo 

9 8j^. 


H] 


Anschlüsse 

Platine 

ZX  SPECTRUM 


U. 


M. 


X. 


Y. 


M. 


Y: 


V 


Y. 


Y. 


Y. 


9  9  9  9 


Bild  5 ,  11  Direktanschluß  zweier  Joysticks  an  die  ZX  Spectrum- 
Tastatur 


Die  Abfrage  der  Steuerknüppel 
geschieht  mit  zwei  IN-Befehlen 
in  Basic  oder  Maschinencode;  der 
Stellung  der  Joysticks  entspre¬ 
chend  werden  dabei  die  Datenbits 
0  bis  4  gesetzt  und  gleichzeitig 


wahr  genommen.  Damit  ist  also  die 
Realisierung  relativ  schneller 
Grafik-Funktionen  möglich.  Ta¬ 
belle  5.2  zeigt  das  noch  einmal 
ausführlich.  Bei  kommerzieller 
Software  wird  oft  ein  Menü  mit 


Tabelle 

frage 

5.  2 

IN-Befehle 

zur 

JoystlcK-Äb- 

Joy¬ 

Taste 

Befehl 

Daten-  Funktion 

stick 

bit 

1 

1 

IN 

61486 

0 

links 

1 

2 

IN 

61486 

1 

rechts 

1 

3 

IN 

61486 

2 

runter 

1 

4 

IN 

61486 

3 

hoch 

1 

5 

IN 

61486 

4 

Trigger 

2 

6 

IN 

61438 

4 

links 

2 

7 

IN 

61438 

3 

rechts 

2 

8 

IN 

61438 

2 

runter 

2 

9 

IN 

61438 

1 

hoch 

2 

0 

IN 

61438 

0 

Trigger 

24 


vers  clii  e  denen  Joystick-Normen 
angeboten.  Für  die  vorgestellte 
Anschlußvariante  ist  die  Option 
Sinclair' zu  wählen. 


5.  5.  2.  Joystick-Anschluß  über 
Peripherie-Schaltkreise 

Trotz  des  geringen  Aufwands  bei 
der  Paral lei  schal tung  des  Joy¬ 
sticks  zur  Rechnertastatur  gibt 
es  einige  Gründe,  die  für  einen 
Anschluß  der  Spielhebel  über 
eine  Anpaßschal  tung  sprechen. 
Das  sind  unter  anderem: 

-  gemeinsamer  Anschluß  des  Joy¬ 
sticks  liegt  auf  definiertem 
Potential, 

-  verschiedene  Anschlußnormen 
sind  nur  so  realisierbar, 

-  Eingriff  in  den  Rechner  ent¬ 
fällt. 

Im  folgenden  wird  deshalb  ge¬ 
zeigt,  wie  ein  Joystick  über  ein 
Register  an  den  Datenbus  des  ZX 
Spectrum  angeschlossen  werden 
kann.  Dieses  Register  wird  bei 
einer  bestimmten  Kombination 
von  Adressen  und  Steuersignalen 
des  Prozessors  aktiviert.  Dazu 
dient  ein  Adreßdekoder. 

Bild  5.  12  zeigt  das  Prinzip 
eines  Joystick-Anschlusses  ent¬ 
sprechend  der  Sinclair- Norm. 
Dieses  Interface  bildet  im 
Prinzip  die  Tastaturabfrage  für 
die  interessierenden  Tasten 


DL032 


(Sind  alr-Norm) 

nach,  indem  es  die  Steuersignale 
IORQ  (Ein-/Ausgabe-Anforderung) , 
RD  (Prozessor  will  Daten  lesen) 
und  die  Adressen  AO  (ULA  aktiv) 
und  Al 2  (Tastatur-Reihe  6  bis  0) 
auswertet  und  bei  gleichzeitiger 
Aktivierung  das  Register  selek¬ 
tiert.  Damit  wird  ein  Bitmuster, 
das  der  Stellung  des  Joysticks 
entspricht,  auf  den  Datenbus 
gelegt. 


5.  5.  3.  Kempston- JoysticK 

Für  den  Anschluß  von  Joysticks 
an  den  ZX  Spectrum  gibt  es  ver¬ 
schiedene  Normen,  von  denen  wohl 
die  Kempston^ Norm  die  weiteste 
Verbreitung  gefunden  hat.  Diese 
Norm  legt  fest,  daß  die  Stellung 
des  Joysticks  über  die  Port- 


Tabelle  5.3  IN-Befehle  zur  Abfrage  des 
Kemps t on- Joy s t i cks 


Befehl 

Datenbit 

Funktion 

IN  223 

0 

links 

IN  223 

i 

rechts 

IN  223 

2 

runter 

IN  223 

3 

hoch 

IN  223 

4 

Trigger 

25 


Bild  5.  13  Schaltung  eines  Kempston- JoysticK- Interfaces 


adresse  DFH  (223  dezimal)  ein¬ 
lesbar  ist  und  dort  durch  ge¬ 
setzte  Bits  0  bis  4  repräsen¬ 
tiert  wird.  Die  Zuordnung  der 
gesetzten  Bits  zur  Stellung  des 
Joysticks  kann  der  Tabelle  5.3 
entnommen  werden. 

Das  Kempston-  Interface  besteht 
ebenfalls  aus  einem  Register  und 
einem  Adreßdekoder.  Als  Register 
kommt  hier  der  Bustreiber- 
Schaltkreis  DS  3236  zum  Einsatz. 
Dessen  Mikroprozessorseite  (An¬ 
schlüsse  1  bis  8)  und  Datenbus¬ 
seite  (Anschlüsse  12  bis  19) 
wurden  für  diese  Anwendung  ver¬ 
tauscht.  Dadurch  ist  es  möglich, 
an  dieser  Stelle  auch  den  Typ 


DS  3232  einzusetzen.  Da  die 
Datenübertragung  beim  Joystick- 
Anschluß  generell  nur  in  der 
Richtung  Peripherie  - >  Prozes¬ 

sor  erfolgt,  spielt  die  geringe¬ 
re  Stromergiebigkeit  des  DS  3236 
auf  der  Mikroprozessorseite  kei¬ 
ne  Rolle.  Allerdings  ist  die  ty¬ 
pische  Stromaufnahme  des  DS  3266 
etwa  um  20  mA  geringer  als  beim 
Typ  3232,  Bei  Änderung  der 
Platine  können  natürlich  auch 
andere  Register  mit  Trl-state- 
Ausgängen  verwendet  werden. 
Erfolgreich  getestet  wurde  in 
diesem  Zusammenhang  auch  der 
CMOS -Treiber  V  40093.  Zu  beach¬ 
ten  ist  dabei,  daß  dieser 


26 


Bild  5.  15  Bestückungsplan  der  Platine  nach  Bild  5.  14 


r~a 


£Q  Stecher  2x29*^  g  N  L 


Schaltkreis  die  Daten  inver¬ 
tiert.  Deshalb  ist  der  gemein¬ 
same  Anschluß  des  Joysticks  an 
Masse  zu  legen.  Das  gilt  auch 
bei  Verwendung  der  invertieren¬ 
den  Bustreiber  DS  6265  und 
DS  6267. 

Als  Adreßdekoder  arbeitet  in 
dieser  Schaltung  ein  DL  002  D. 
Er  wurde  aufgrund  seiner  besse¬ 
ren  Verfügbarkeit  dem  DL  052  D 
vorgezogen.  Der  Dekoder  selek¬ 
tiert  das  Register  immer  dann, 
wenn  der  Prozessor  eine  Eingabe¬ 
anforderung  bezüglich  der  Adres¬ 
se  5  sendet  (IORQ,  RD  und  A5 
führen  Low-Pegel).  Somit  wird, 
bedingt  durch  die  Widerstände  R2 
bis  R9,  das  Datenwort  00H  an  den 


Prozessor  gegeben,  sofern  der 
Joystick  unbetätigt  ist.  Im 
Falle  einer  Betätigung  führen 
die  entsprechenden  Leitungen 
über  RI  H-Pegel.  Für  diese  An¬ 
wendung  würde  auch  ein  5  Tbit- 
Register  ausreichen.  Das  Einle¬ 
sen  von  8  bit  (bit  5  bis  7  sind 
dann  immer  0)  bietet  aber  die 
Gewähr,  daß  auch  Programme,  die 
nicht  nur  die  unteren  5  bit 
auswerten,  mit  dem  Interface 
Zusammenarbeiten  können.  Neben 
dem  Joystick- Interface  wurden 
auf  der  Platine  noch  eine  Re¬ 
set-Taste  und  ein  Video-Anschluß 
untergebracht.  In  den  Bildern 
5.  13  bis  5.  15  sind  Schaltung, 
Platinen-Layout  und  Bestückungs- 


27 


/ 


;  74  LS  244 

< 

J 

<1 

J 

4 

ff 

<J 

J 

<j 

(T 

<1 

ff 

<1 

ff 

<1 

jt 

IN  4148 


;  74  LS  367 

<1 

IT 

<1 

I 

<1 

JT 

<1 

JT 

0 

I 

<1 

ff 

Kempsfon  - 
Joystick 


8x4.7k 


5x4>7k 


+5Vo- 


1 10  n 


Sinclair— 

Joystick 


Bild  5.  17  dkJ  tronlcs- Interface 


plan  des  Kemps  ton-  Interfaces 
dargestellt;  im  Bild  5,  16  ist 
das  auf gebaute  Muster  abgebil¬ 
det.  Bild  5.  17  zeigt  die  Schal¬ 
tung  eines  Joystick-Interfaces 
der  Firma  dK'  tronlcs.  Es  reali¬ 
siert  unter  Verwendung  von  zwei 
Registern  einen  Kemps  ton-  und 
einen  Sinclair- Anschluß.  Für  den 
Schaltkreis  74  LS  367  kann  der 
pinkompatible  V  40096  verwendet 
werden. 


5.  5.  4.  Zusatzfuriktionen  ftlr 
Joysticks 

Mit  geringem  Hardwareaufwand 
sind  2  Erweiterungsfunktionen 
für  Joysticks  realisierbar,  die 
insbesondere  den  Spielern  unter 
den  Computerbesitzern  einige 
Erleichterungen  verschaffen  kön¬ 
nen.  Es  sind  dies  ein  Trigger¬ 
generator  (landläufig  als  Dauer¬ 
feuer  bezeichnet)  und  ein  NMI - 
Generator  (aus  der  internationa¬ 
len  Literatur  auch  als  Freezer 
bekannt ) . 


Der  Triggergenerator  wird  zwi¬ 
schen  Joystick  und  Anpaßelektro- ' 
nik  geschaltet.  Er  erzeugt  bei 
Drücken  der  Triggertaste  am 
Joystick  eine  Impulsfolge,  deren 
Frequenz  bei  beiden  vorgestell¬ 
ten  Schaltungen  zwischen  2  und 
etwa  25  Hz  einstellbar  ist. 

Wegen  des  geringen  Umfangs  der 
Schaltungen  lohnt  die  Anferti¬ 
gung  einer  speziellen  Platine 
kaum.  Die  Elektronik  kann,  auf- 
gebaut  auf  einer  Universal plati- 
ne,  direkt  im  Joystickgehäuse 
untergebracht  werden.  In  der 
Schaltung  nach  Bild  5.  18  arbei¬ 
tet  ein  V  4093  als  astabiler 


Bild  5.  16  CMOS- Tri ggergenerator 


28 


Multivibrator.  Für  den  1-uF- 
Kondensator  sollte  Kein  EleKtro- 
lytKondensator  verwendet  werden. 
Die  Stromauf  nähme  dieser  Schal¬ 
tung  beträgt  etwa  1  mA.  Das  ist 
ein  Wert,  der  (für  andere  Anwen¬ 
dungen)  auch  viele  Stunden  Be¬ 
trieb  mit  einer  Flachbatterie 
garantiert. 

In  Bild  5.  19  ist  ein  1 3,  555  eben¬ 
falls  als  astabiler  Multivibra¬ 
tor  beschältet.-  Die  Diode  zwi¬ 
schen  den  Anschlüssen  6  und  7 
ermöglicht  den  Angleich  der  H- 
und  L-Zeiten.  Die  beiden  Schal¬ 
tungen  benötigen  Keinen  Ab¬ 
gleich,  Können  aber  durch  Ände¬ 
rung  der  zeitbe  stimmenden  Bau¬ 
elemente  den  Erfordernissen  des 
Anwenders  angepaßt  werden.  Je 
nach  Potential  des  gemeinsamen 
Anschlusses  am  JoysticK  wird  der 
Generator  über  die  positive 
Betriebsspannung  oder  die  Masse¬ 
leitung  eingeschaltet.  Bei  Ver¬ 
wendung  des  JoysticK-Anschlusses 
nach  Abschnitt  5.  6.  1.  Können 
diese  Schaltungen  nicht  verwen¬ 
det  werden,  da  hier  der  gemein¬ 
same  JoysticK-Anschluß  nicht  auf 
Masse  oder  +U;b  liegt. 

Im  allgemeinen  strebt  man  da¬ 
nach,  daß  der  Computer  seine  t 
Aufgaben  so  schnell  wie  möglich* 
aus  führt.  Zu  diesem  ZwecK  wird, 
insbesondere  bei  größeren  Syste¬ 
men,  der  MiKroprozessor  durch 
entsprechende  Zusatzhardware 


68k  5M 


Bild  5 .  19  Triggergenerator  mit 
B  555 


(z.  B.  ArithmetiK-Prozessor,  Vi¬ 
deo-Controller)  entlastet. 

Auch  eine  Erhöhung  der  TaKtfre- 
quenz  zielt  in  diese  Richtung, 
erfordert  aber  Bauelemente,  die 
den  Kürzeren  TaKt Zeiten  gerecht 
werden.  In  einigen  Fällen  Kann 
es  aber  durchaus  sinnvoll  sein, 
die  AKtivitäten  eines  Computers 
auch  zu  verlangsamen,  um  etwa 
den  Aufbau  einer  Komplizierten 
GrafiK  Pixel weise  zu  verfolgen, 
Bewegungsabläufe  auf  dem  Bild¬ 
schirm  zu  studieren  oder  in 
Computerspielen  Vorteile  durch 
längere  ReaKtionszeit  zu  errei¬ 
chen.  Für  diese  ZwecKe  ist  zu¬ 
nächst  eine  Verringerung  der 
TaKtfrequenz  denKbar,  Allerdings 
bringt  das  mit  Sicherheit  einige 
FunKtionen  des  Computers  durch¬ 
einander,  da  z.  B.  Zeitschleifen 
zur  Synchronisation  interner 
Abläufe  für  die  Normal -TaKtfre¬ 
quenz  berechnet  sind.  Deshalb 
wird  hier  eine  andere  Möglich- 
Keit  angeboten. 

Um  den  Prozessor  U  680  zu  zwin¬ 
gen,  seine  derzeitige  Arbeit 
zugunsten  eines  anderen  Program¬ 
mes  zu  unterbrechen,  hat  er  2 
Eingänge,  die  mit  INT  und  NMI 
bezeichnet  sind.  Der  Eingang  INT 
wird  mit  Low-Pegel  aKtiviert, 
der  Eingang  NMI  durch  eine 

HL-FlanKe^ _  Während  eine  am 

Eingang  INT  anliegende  Inter¬ 
ruptanforderung  durch  die  Soft¬ 
ware  erlaubt  oder  abgewiesen 
(masKiert)  werden  Kann,  ist  das 
beim  Eingang  MI  (deshalb  Nicht 
MasKierbarer  Interrupt)  nicht 
möglich.  Ein  NMI  zwingt  den 
Prozessor  U  680  zu  einem  RESTART 
ab  Speicherplatz  66H.  Der  Be¬ 
fehlszähler  wird  automatisch  in 
den  externen  StacK  gerettet,  so 
daß  der  Anwender  nach  Abarbei¬ 
tung  der  NMI -Service-Routine  zum 
unterbrochenen  Programm  zurücK- 


29 


kehren  Kann.  Dazu  dient  der  Ma¬ 
schinenbefehl  RETN  (RETurn  vom 
NMI).  Tabelle  5.4  zeigt  die  NMI - 
Service -Rout ine  des  ZX  Spectrum. 
Offensichtlich  war  diese  Routine 
ursprünglich  dazu  gedacht,  das 
Programm  in  Abhängigkeit  vom 
Inhalt  der  Systemvariablen 
NMI REG  zu  verzweigen.  Durch 
einen  Kleinen  Programmfehler  ist 
das  aber  nicht  möglich.  Abhängig 
vom  Inhalt  der  Systemvariablen 
NMI  REG  Kann  man  lediglich  einen 
Kaltstart  entsprechend  RESET 
ausführen  (bei  NMI REG  =  0)  oder 
nichts  passieren  lassen  (bei 
NMI  REG  nicht  -  0).  Die  Abarbei¬ 
tung  des  NMI -Programms  erfordert 
für  letztgenannten  Fall  92  Pro- 
zessortaKte.  Bei  3,5  MHz  Takt- 
frequenz  beträgt  die  Länge  einer 
TaKtperiode  etwa  286  ns.  Daraus 
läßt  sich  die  Laufzeit  der  NMI- 
Routine  errechnen: 

92*286  ns  =  26,  3  [is .  Wird  der 
Prozessor  gezwungen,  unmittelbar 
nach  Ablauf  der  NMI -Routine 
einen  neuen  NMI  auszuführen, 
bleibt  ihm  Keine  Zeit  mehr  für 
das  Abarbeiten  seines  eigentli¬ 
chen  Programms.  Es  Kommt  somit 
zum  Stillstand.  Für  praktische 
Anwendungen  ist  es  sinnvoll, 
diesen  "NMI -Generator"  stetig 


oder  in  Stufen  einstellbar  aus- 
zuf Uhren.  Damit  ist  es  möglich, 
nicht  .so  interessante  Programm¬ 
teile  in  normaler  Geschwindig¬ 
keit  abzuarbeiten. 

Um  einen  NMI  alle  26,3  [xs  auszu¬ 
lösen,  ist  theoretisch  eine  Im¬ 
pulsfolgefrequenz  von  38  KHz  er¬ 
forderlich.  .  Praktisch  genügt 
schon  eine  etwas  geringere  Fre¬ 
quenz,  da  das  ULA  im  ZX  Spectrum 
hin  und  wieder  den  Takt  anhält, 
was  einer  geringeren  mittleren 
TaKtfrequenz  gleichzusetzen  ist. 
Im  Mustergerät  wurde  als  obere 
Grenzfrequenz  32,  5  KHz  ermit¬ 
telt.  Eine  Erhöhung  der  NMI  - 
Impulsfolge  über  diese  Frequenz 
hinaus  führt  zum  Systemabsturz, 
da  durch  die  am  Anfang  der  NMI- 
Routine  abgearbeiteten  PUSH- 
Befehle  der  Stack  den  gesamten 
RAM-Bereich  überschreibt.  Vor 
Inbetriebnahme  des  NMI -Genera¬ 
tors  muß  zumindest  in  eine  der 
Systemvariablen  23728  und  23729 
ein  Wert  eingetragen  werden,  der 
von  0  verschieden  ist.  Diese 
Systemvariablen  sind  im  Handbuch 
fälschlich  -als  nicht  benutzt 
angegeben. 

Im  Interesse  einer  möglichst 
geringen  Leistungsaufnahme  des 
NMI -Generator s  werden  eine  CMOS- 


Tabelle  5.4  NMI-Routine  des  ZX  Spectrum 


Adresse  Code  Marke  Befehl 


0066 

F5 

0067 

E5 

0068 

2A 

BO  5C 

006B 

7C 

006C 

B5 

006D 

20 

01 

006F 

E9 

0070 

El 

0071 

Fl 

0072 

ED 

45 

NMI  PUSH  AF  . 

PUSH  HL 
LD  HL,  (NMIREG) 
LD  A,  H 
OR  L 

JR  NZ,  #70 
JP  (HL) 

POP  HL 
POP  AF 
RETN 


30 


Bild  5.  20  CMOS -NMI -Genera t or 


3.3k  100k 


Bild  5.  21  NMI -Generator  mit 
B  555 

und  eine  #-555- Version  vorge¬ 
stellt. 

Bild  5.20  zeigt  die  CMOS-Version 
des  NMI -Generators.  In  dieser 
Schaltung  arbeitet  ein  V  4011 
als  astabiler  Multivibrator  mit 
veränderlicher  Frequenz.  Mit  dem 
Widerstand  RI  ist  bei  auf 
größten  Widerstandswert  ein¬ 
gestelltem  Potentiometer  die 
Frequenz  auf  32,5  KHz  einzustel¬ 
len.  Der  Generator  Kann  mit  dem 
an  einem  Gattereingang  befindli¬ 
chen  Schalter  außer  Betrieb  ge¬ 
setzt  werden.  Der  Ruhepegel  (H 
oder  L)  hängt  davon  ab,  welches 
Gatter  dafür  verwendet  wird.  Da 
der  NMI  flanKenge triggert  ist, 
sind  beide  Ruhepegel  möglich.  Im 
Interesse  besserer  FlanKensteil- 
heit  Kann  für  den  V  4011  auch 
der  pinKompatlble  V  4093  einge¬ 
setzt  werden.  Bei  Verwendung 
eines  (allerdings  nicht  pinKom- 
patiblen  !)  NOR-Gatters  V  4001 
müssen  die  unbenutzten  Gatter¬ 
eingänge  an  Masse  gelegt  werden. 
Die  beiden  anderen  Gatter  Können 


vorteilhaft  zur  Realisierung  der 
DauerfeuerfunKtion  verwendet 
werden,  so  daß  für  beide  Zusatz¬ 
schal  tungen  .nur  ein  Schal  tKrels 
erforderlich  ist.  Im  Bild  5,21 
ist  ein  NMI -Generator  mit  dem 
B  555  dargestellt.  Diese  Schal¬ 
tung  erzeugt  mit  der  vorgeschla¬ 
genen  Dimensionierung  Frequenzen 
zwischen  3  und  30  KHz.  Die  Fre- 
quenzKonstanz  ist  etwas  besser 
als  bei  der  CMOS -Variante,  al¬ 
lerdings  ist  auch  die  Außenbe¬ 
schaltung  umfangreicher.  Die 
Stromaufnahme  liegt  bei  5  mA. 
Durch  die  Verwendung  des  Doppel - 
timers  B  556  sind  auch  hier  bei¬ 
de  Zusatz  schal  tungen  mit  einem 
Schal tKreis  realisierbar. 

Die  Verwendung  von  Generatoren 
mit  TTL  oder  anderen  LogiKfami- 
lien  ist  natürlich  ebenso  mög¬ 
lich,  bietet  aber  gegenüber  den 
beschriebenen  Keine  entscheiden¬ 
den  Vorteile.  DenKbar  sind  auch 
"Intel llgente"  Lösungen,  z.  B, 
die  Verwendung  eines  CTC-Schalt- 
Kreises  in  der  Betriebsart  Zeit¬ 
geber. 


5. 6.  Parallel -Schnittstellen 

5.  6.  i.  Parallel-Schnittstellen 
mit  Registerschalt- 
Kreisen 

Unter  Nutzung  von  Bustreiber¬ 
schal  tKreisen,  Auf fangregi stern 
(Latches)  oder  gemeinsam  getaK- 
teten  Flip-Flops  ist  der  Aufbau 
eines  parallelen  Ein-/Ausgabe- 
ports  sehr  einfach  möglich.  Mit 
BustreiberschaltKreisen  entsteht 
dabei  sogar  der  Vorteil  einer 
weitaus  höheren  Stromergiebig- 
Keit  des  Ausgabeports  gegenüber 
der  Verwendung  von  Standard- 
Peripheriebausteinen,  Der  Ein¬ 
satz  solcher  Ports  bietet  sich 


31 


D0 

D7 

RD 


WR 


A0 

A7 

1ÖRÖ 


Bild  5.22  Parallelport  mit  zwei 
Bus treiber schal  tkreisen 
( Prinz 1  p) 


dekoders  DS  8205  eindeutig,  Der 
Einsatz  von  CMOS -Schaltkreisen 
ist  bei  der  hohen  Taktfrequenz 
des  ZX  Spectrum  insbesondere  bei 
nur  5  V  Betriebsspannung  nicht 
generell  zu  empfehlen.  Die  auf- 
gebauten  Versuchsmuster  zeigten 
aber  bei  Einsatz  getypter  Bau¬ 
elemente  keine  unsichere  Ar¬ 
beitsweise.  Zum  sicheren  Errei¬ 
chen  des  H-Pegels  der  CMOS- 
Schaltkreise  sind  an  *  den  Über¬ 
gängen  TTL-CMOS  Pul  1 -up-Wider- 
stände  erforderlich. 


DP) 
Dl 
D  2 
DB 


A6 
A  5 
A  U 

iÖRQ 

A7 


A0 
AI 
A  2 
A3 
+5V 


Bild  5.23  4-blt-Paral  lelport 
ml  t  V  4042 


also  immer  dann  an,  wenn  die 
Programm!  erbarkeit  der  Eigen¬ 
schaften  der  Schnittstelle  nicht 
zwingend  notwendig  ist.  Die 
Schaltung  nach  Bild  5.22  stellt 
unter  Einsatz  von  2  Bustreiber¬ 
schalkreisen  Jeweils  8  Ein-  und 
Ausgänge  bereit.  Dabei  wird  nur 
eine  Adreßleitung  in  die  Adres¬ 
sierung  der  Schnittstelle  einbe- 
zogep  (Stichleitungsprinzip).  Im 
Bild  5.23  ist  eine  4  bit  breite 
Parallel Schnittstelle  unter  Ver¬ 
wendung  eines  CMOS-Regi sters 
dargestellt.  Die  Adreßselektion 
ist  durch  Verwendung,  des  Adre߬ 


5.  6.  2.  Parallel -Schnittstelle 
mit  der  PIO  U  655 

Die  Schaltung  im  Bild  5.24  zeigt 
den  Anschluß  einer  PIO  U  855  an 
den  ZX  Spectrum.  Wegen  der  Viel¬ 
zahl  der  Verbindungen  und  der 
relativ  willkürlichen  Anordnung 
der  PIO-Anschlüsse  ist  eine 
zweiseitige  Leiterplatte  erfor¬ 
derlich,  Die  Leiterzüge  auf  der 
Bestückungsseite  sind  aber  alle 
horizontal  und  parallel  angeord¬ 
net,  so  daß  sie  sich  auch  durch 
Drahtbrücken  ersetzen  lassen. 

Wie  auch  bei  den  anderen  vorge¬ 
stellten  Baugruppen  wird  eine 
vollständige  Adreßdekodierung 
verwendet.  Unter  Fortfall  des 
Adreßdekoders  IS2  kann  jedoch 
auch  das  Stichleitungsprinzip 
zur  Anwendung  kommen.  Dazu  ist 
die  auf  der  Bestückungsseite  der 
Platine  gekennzeichnete  Draht  - 
brücke  einzusetzen.  Das  gilt 
besonders  dann,  wenn  keine  wei¬ 
teren  Zusatzbaugruppen  am  Rech¬ 
ner  betrieben  werden.  Der  Adre߬ 
dekoder  wird  Uber  den  low- akti¬ 
ven  Eingang  El  nur  dann  freige¬ 
geben,  wenn  das  ULA  (Adresse  AO) 
und  der  ZX-Printer  (Adresse  Al) 
nicht  angesp^ochen  werden.  Er¬ 
reicht  wird  das  durch  ein  Gatter 


$ 


32 


SRD7  -| 
ardyU 

A0...A7 

ÄSTB 
IEI 
HO 


od. 


B0...B7 

BRDY 


+5V  o - 

Bild  5 .  24 


f5V 


=  C2 

22u/16V  lOÖn 
PIO-Anschl  uß  an  den  ZX 


Spectrum 


des  Schaltkreises  IS3.  Die 
Adreßleitungen  A2,  A3,  A6  und  A7 
sind  an  den  Dekoder  geführt  und 
bilden  den  Gerateauswahl  impul s 
(CS)  für  die  PIO.  Die  Adressen 
A4  und  A5  sind  direkt  mit  der 
PIO  verbunden.  Sie  dienen  zur 
Auswahl  von  Kanal  A  oder  B  bzw. 


zur  Interpretation  der  empfange¬ 
nen  Daten  als  Steuer-  oder  Da¬ 
tenwort.  Nach  Einschalten  der 
Betriebsspannung  geht  die  PIO 
U  655  automatisch  in  den  RESET - 
Zustand  (Power-on-Reset ) .  Dieser 
Zustand  ist  gekennzeichnet 
durch: 


Bild  5.25  Layout  (Leiterseite)  für  die  PIO-Karte 


33 


-  rückgesetzte  Kanal ausgabere- 
gister, 

-  NICHT  rückgesetztes  Vektor- 
adressenregister. 

Die  PIO  verfügt  aufgrund  der  Be¬ 
grenzung  der  Anschlußzahl  auf  40 
über  keinen  RESET-Anschluß.  Da¬ 
her  wurde  eine  andere  Möglich- 


Blld  5.27  BestücKungsplan 

-  rückgesetzte  Kanal maskierungs- 
register, 

-  hochohmige  Kanal datenlei tun - 
gen, 

-  inaktive  READY-Leitungen  (low- 
Zustand) , 

-  PIO  befindet  sich  in  Betriebs¬ 
art  1  (Byte-Eingabe), 


34 


.V  :  r  •  fe 

j&iid  5.23  Musteraufbau  der  PIO-Karte 


CPU-RESET 
CPU-MT 

Bild  5.  29  Schaltung  zum  Rück¬ 
setzen  der  P10 


keit  vorgesehen,  die  PIO  unab¬ 
hängig  vom  Power-on-Reset  in  den 
Rücksetz zustand  zu  bringen.  Die¬ 
se  besteht  darin,  bei  inaktiven 
Signalen  RD  und  IORQ  mindestens 
zwei  Taktperioden  lang  ein  akti¬ 
ves  Mf-Signal  anzulegen.  Das 
läßt  sich  mit  einer  zusätzlichen 
Gatterschaltung  gemäß  Bild  5.  29 
erreichen.  In  der  Schaltung  nach 


CHS- 


PI0-M1 


Tabelle  5,5  Belegung  des  Anwendersteck¬ 
verbinders  des  PIO-Moduls 


Kontakt 

A-Ebene 

B-Ebene 

1 

IEI 

IEO 

2 

ARDY 

BRDY 

3 

ASTB 

BSTB 

4 

AO 

BO 

5 

Al 

Bl 

6 

A2 

B2 

7 

A3 

B3 

8 

A4 

B4 

9 

A5 

B5 

10 

A6 

B6 

11 

A7 

B7 

12 

Masse 

+  5  V 

13 

Masse 

+  5  V 

35 


Bild  5.  24  sind  dafür  zwei 
weitere  Gatter  des  Schal tkreises 
IS3  vorgesehen. 

Zu  beachten  ist  hei  allen  Anwen¬ 
dungen,  daß  die  Porti  ei tungen 
der  PIO  nur  Jeweils  eine  TTL- 
Last  treiben  Können.  Gegebenen¬ 
falls  sind  entsprechende  Trei¬ 
berschal  tKr  eise  vorzusehen. 
Entsprechend  der  Beschaltung  des 
Adreßdekoders  ergibt  sich  für 
die  PIO  folgende  Adr eß Zuordnung: 

143  (8FH)  Port  A  Daten 

159  (9FH)  Port  B  Daten 

175  (AFH)  Port  A  Steuerung 

191  (BFH)  Port  B  Steuerung 

Die  Überprüfung  der  Funktion  der 
PIO-Karte  kann  mit  Basic-IN- 
bzw.  OUT-Befehlen  an  die  ent¬ 
sprechenden  Adressen  vorgenommen 
werden.  Die  Belegung  des  2  x  13- 
po 1 igen  Anwendersteckverbinders 
ist  Tabelle  5.  5  zu  entnehmen. 


5.  6.  3.  Centronlcs-Schnlttstel  le 

Mit  einem  entsprechenden  Steuer¬ 
programm  ist  es  über  die  PIO  re¬ 
lativ  einfach  möglich,  eine  Par¬ 
allelschnittstelle  für  einen 
Drucker  zu  realisieren.  Versuche 
haben  gezeigt,  daß  eine  PIO 
durchaus  in  der  Lage  ist,  den 
Drucker  über  eine  bis  zu  zwei 
Meter  lange  Leitung  ohne  Verwen¬ 
dung  zusätzlicher  Treiberschal t- 
kreise  zu  bedienen.  Eine  sehr 
weit  verbreitete  Norm  für  solche 
Schnittstellen  ist  die  der  Firma 
Centronics .  Es  handelt  sich  um 
eine  bitparallele,  byteserielle, 
uni direkt ionale  Schnittstelle, 
deren  Signale  im  Bild  5.  30  wie¬ 
gegeben  werden. 

Für  praktische  Anwendungen  genü¬ 
gen  Jedoch  neben  den  Datenlei¬ 
tungen  bereits  zwei  Steuer 1  ei - 
tungen  für  den  Betrieb  eines 
Druckers  mit  Centronlcs-Schnltt- 


Schutzerde 

GND 

Daten  Bit  0...7 

D0...7 

:> 

Empfangsauslösung 

STB 

> 

<i 

Empfangsbestätigung 

ACKN 

< 

Empfänger  beschäftigt 

BUSY 

Papierende 

PE 

<c 

Empfänger  angewählt 

SLCT 

<c 

Fehlermeldung 

FAULT 

RESET 

IFR5T 

Betriebserde 

0 

Blld  5.  30  Signale  der  Centronlcs-Schnlttstel le 


36 


DATA  1-8 


1  1 

L 

1/1S  (MINH 

—  1/JS  (MIN) 

Bild  5 .  31  Slgnalsplel  einer  Minimal  -Centronics  -Schnitt  stel  le 


stelle.  Es  sind  dies  die  Leitun¬ 
gen  STROBE  und  BUSY.  Mit  aktivem 
STROBE-Signal  teilt  der  Rechner 
dem  Drucker  mit,  daß  ein 
gültiges  Byte  auf  den  Datenlei¬ 
tungen  ansteht,  mit  der  BUSY- 
Leitung  zeigt  der  Drucker  dem 
Rechner  an,  oh  er  zum  Datenemp¬ 
fang  bereit  oder  nicht  bereit 
ist.  Das  Signal  spiel  einer  sol¬ 
chen  abgerüsteten  Centronics- 
Schnittstel le  ist  dem  Bild  5.31 
zu  entnehmen. 

Die  Erzeugung  des  Drucker- 
STROBE- Signals  wird  von  der  PIO 
übernommen.  Nachdem  nämlich  das 
Einschreiben  eines  Bytes  in.  die 
PIO  beendet  ist  (Ende  des  WR- 
Impulses),  wird  nach  der  näch¬ 
sten  fallenden  Flanke  des  Sy¬ 
stemtaktes  das  READY-Signal  der 
PIO  in  den  aktiven  Zustand 
(High-Pegel)  gebracht.  Da  das 
Drucker -STROBE  in  der  überwie¬ 
genden  Zahl  der  Fälle  low- aktiv 
ist,  wird  das'  READY-Signal  der 
PIO  über  ein  Gatter  von  IS3 
invertiert.  Dazu  ist  auf  der 
Platine  die  Brücke  Xl(-),  bei 
nichtinvertiertem  READY  sinnge¬ 


mäß  XI (+)  zu  schließen,  Diese 
Möglichkeit  ist  auf  der  Platine 
nur  für  den  PlO-Port  A  vorgese¬ 
hen,  der  in  der  vorgeschlagenen 
Variante  als  Datenport  der  Cen - 
tronl cs-Schnitt stel le  arbeitet. 
Bei  Verwendung  der  angegebenen 
Treiber Software  ist  die  BUSY- 
Leitung  des  Druckers  mit  dem 
Bit2  des  PlO-Ports  B  zu  verbin¬ 
den.  Nachteilig  an  der  beschrie¬ 
benen  Erzeugung  des  Drucker - 
STROBE  ist  zunächst  die  Tatsa¬ 
che,  daß  das  Signal  ARDY  der  PIO 
auch  dann  noch  aktiv  ist,  wenn 
der  Drucker  die  Daten  längst 
übernommen  hat.  Um  dies  zu  umge¬ 
hen,  gibt  es  verschiedene  Mög¬ 
lichkeiten: 

1.  Verbindung  des  Drucker-Si¬ 
gnals  ACK  mit  ASTB  der  PIO. 
Dieses  Drucker -Signal  wird 
immer  am  Ende  des  BUSY-Si- 
gnals  aktiviert.  Es  meldet 
das  Ende  der  Datenübernahme. 
Bei  der  PIO  löst  die  positive 
Flanke  des  Impulses  die  Deak¬ 
tivierung  des  READY-Signal s 
nach  der  nächsten  fallenden 
Flanke  des  Systemtakts  aus. 


37 


Bei  dieser  Möglichkeit  ist 
die  erforderliche  weitere 
S teuer  1  ei tung  nachteilig,  da¬ 
für  bleibt  die  PIO  aber  un¬ 
eingeschränkt  interruptfähig. 
Für  verschiedene  Drucker 
(u.  a.  Robotron-K-63xx-Se  rie) 
kann  es  hei  Verwendung  dieser 
Variante  nötig  werden,  das 
Signal  ARDY  der  PIO  zusätz¬ 
lich  zu  differenzieren.  Eine 
Möglichkeit  dazu  ist  im 
Bild  5.  32  angegeben. 

4,7n 

PIO-ARDYo - Ihr — - °  STROBE 

1.2  k  U  ÄSAY17 

Bild  5,  32  Differenzierglied  für 
das  Drucker- Strobe -Signal 


2.  Verbindung  von  ASTB  der  PIO 
mit  +5  V.  In  dieser  Betriebs¬ 
art  erzeugt  die  PIO  nach  Ein¬ 
schreiben  der  Daten  einen 

ARDY- Impul  s  der  Länge  einer 
Systemtaktperiode,  der  inver¬ 
tiert  als  Drucker-Strobe  ver¬ 
wendet  werden  kann.  Dabei 


kann  der  PIO-Kanal  A  keinen 
Interrupt  anmelden,  eine  in¬ 
terruptgesteuerte  Drucker aus - 
gäbe  ist  somit  nicht  möglich. 

3.  Verbindung  der  PIO-Leitungen 
ASTB  und  ARDY.  Auch  bei  die¬ 
ser  Schaltungsvariante  wird 
ein  Drucker-Strobe  von  Sy¬ 
stemtakt  breite  erzeugt.  Die 
Breite  dieses  Impulses  liegt 
beim  ZX  Spectrum  mit  3,  5  MHz 
Taktfrequenz  bei  266  ns.  Die¬ 
ser  Wert  liegt  weit  unter  der 
von  den  meisten  Drucker-Her-' 
Stellern  geforderten  STROBE- 
Impulsbreite  von  1  \is.  Versu¬ 
che  mit  unterschiedlichen 
Druckern  haben  aber  gezeigt, 
daß  es  hierbei  keine  Probleme 
mit  der  Datenübernahme  gibt. 
Interrupts  können  auch  hier 
nicht  ausgelöst  werden,  da 
aufgrund  der  internen  Schal¬ 
tung  der  PIO  sowohl  der  Zu¬ 
stand  Ml  =  0  als  auch  STROBE 
=  0  eine  Übernahme  der  Inter¬ 
ruptanforderung  in  den  inter¬ 
nen  Interrupt spei eher  verhin¬ 
dert. 


Tabelle  5.6  Centronics -Tr eiberprogramm 


2 

4 

6 

.************************ 

j***  GP  550  -  TREIBER  *** 

.************************ 

» 

F230 

8 

10 

5 

0RG 

62000 

5C10 

20 

STRMS 

EQU 

I5C10 

4000 

30 

VIM 

EQU 

#4000  ;ANFANG  DISPLAYDATEI 

5800 

40 

ATTR 

EQU 

#5800 

5C4F 

50 

CHANS 

EQU 

#5C4F 

0C10 

60 

T0K 

EQU 

#0C10 

F230 

C350F2 

70 

JPT 

JP 

INIT  ;EINSPRUNGTABELLE 

F233 

C36CF2 

80 

JP 

LST 

F236 

C39CF2 

90 

JP 

SCPY 

F239 

1B543136 

100 

ING 

0EFB 

2  ~J  H  J  II  H  ^  II  »•  £  *» 

’  ’  * {GRÖSSE  ZEILENVORSCHUB 

F23D 

Q00A1B47 

3132 

110 

VTB  ' 

DEFB 

13, 10, 27, "G", "5", "1", "2" 

;512  GRAFIKDATEN 

F244 

38 

1836 

120 

INST 

DEFB 

27, "6" 

F246 

7E 

130  MOV 

LD 

A,  (HL) 

STEUER¬ 

F247 

C5 

140 

PUSH 

BC 

ZEICHEN 

F248 

CD81F2 

150 

CALL 

AGR 

; AUSGEBEN 

F240 

CI 

160 

POP 

BC 

; ANZAHL 

F24C 

23 

170 

INC 

HL 

; STEHT 

F240 

10F7 

180 

0  JNZ 

MOV 

; IM  B-REGISTER 

F24F 

C9 

190 

RET 

F250 

F3 

200  INIT 

DI 

; INITIALISIERUNG 

F251 

3E0F 

210 

LD 

A ,  #0F 

F253 

D3AF 

220 

OUT 

(#AF),A 

; PIO  PORT  A  MODE  0 

F255 

3ECF 

230 

LD 

A ,  #CF 

F257 

D3BF 

240 

OUT 

(#BF),A 

; PIO  PORT  B  MODE  3 

F259 

3E0F 

250 

LD 

A,#OF 

F25B 

D3BF 

260 

OUT 

(#BF),A 

; UNTERE  4  BIT  EINGANG 

F23D 

2A4F5C 

270 

LD 

HL, (CHANS) 

SYSTEMVARIABLE 

F260 

010F00 

280 

LD 

BC , IOOOF 

;CHANS 

F263 

09 

290 

ADO 

HL ,  BC 

;+  15 

F264 

016CF2 

300 

LD 

BC , LST 

;ZEIGT  AUF 

F267 

71 

310 

LD 

(HL) ,C 

; ANFANG 

F268 

23 

320 

INC 

HL 

SER 

F269 

70 

330 

LO 

(HL) ,B 

; PRINTROUTINE 

F26A 

FB 

340 

EI 

F26B 

C9 

350 

RET 

F26C 

F3 

360  LST 

DI 

Z NT ERRUPT SPERRE 

F26D 

FE80 

370 

CP 

#80 

ZEICHEN  DRUCKBAR  ? 

F26F 

3805 

380 

JR 

C ,  GRP 

SA:  AUSGEBEN 

F271 

D6A5 

390 

SUB 

#A5 

; NEIN : 

F273 

C3100C 

400 

DP 

TOK 

;  TOKE NBE HANDLUNG 

F276 

F3 

410  GRP 

01 

F277 

FEOD 

415 

CP 

13 

ZEICHEN  ENTER  ? 

F279 

CGEEF2 

420 

CALL 

Z, ENTER 

SA:  ZEILENVORSCHUB 

F27C 

CD81F2 

425 

CALL 

AGR 

; MIT  AUSGEBEN 

F27F 

FB 

430 

EI 

F280 

C9 

440 

RET 

F281 

CD89F2 

450  AGR 

CALL 

BUSY 

; DRUCKER  BEREIT  ? 

F284 

38FB 

460 

JR 

C ,  AGR 

; NEIN :  WARTEN 

F206 

038F 

470 

OUT 

( #8F )  ,  A 

SA:  ZEICHEN  AUSGEBEN 

F288 

C9 

480 

RET 

F289 

47 

490  BUSY 

LD 

B,A 

;  REGISTER  RETTEN 

F28A 

3E7F 

500 

LD 

A ,  #7F 

F28C 

DBFE 

510 

IN 

A,(#FE) 

F28E 

1F 

520 

RRA 

F28F 

3803 

530 

JR 

C ,  BMI 

F  291 

FB 

540 

EI 

j 

F292 

CF 

550 

RST 

#08 

F293 

OC 

560 

DEFB 

#0C 

F294 

AF 

570  BMI 

XOR 

A 

F295 

0B9F 

580 

IN 

A , ( #9F ) 

SRUCKERSTATUS  lesen 

F297 

1F 

590 

RRA 

; PIO-BIT  B2 

F298 

1F 

600 

RRA 

; INS  CARRY-FLAG 

F299 

1F 

610 

RRA 

; ROTIEREN 

F29A 

78 

620 

LD 

A,B 

; REGISTER  ZURÜCK 

F29B 

C9 

630 

RET 

39 


F29C 

F3 

640  5CPY 

01  ' 

BILDSCHIRM-KOPIE 

F290 

2139F2 

650 

LD 

HL, ING 

STEUERWORTTABELLE 

F2A0 

060B 

660 

L0 

B ,  1 1 

11  STEUERWORTE 

F2A2 

CD46F2 

670 

CALL 

MOV 

AUSGEBEN 

F2A5 

210040 

680 

LD 

HL , VIM 

F2A8 

1E03 

690 

LD 

E»  3 

3  BILDSCHIRMDRITTEL 

F2AA 

1621 

700 

LD 

D ,  33 

32  ZEICHEN  JE  ZEILE 

F2AC 

15 

710  GM1 

DEC 

D 

ZEILE  FERTIG  ? 

F2A0 

CCE1F2 

720 

CALL 

Z ,  VOR 

JA:  NÄCHSTE  ZEILE 

F2B0 

CDC9F2 

730 

CALL 

GR88 

F2B3 

2C 

740 

INC 

L 

F2B4 

20F  6 

750 

JR 

NZ.GMl 

F2B6 

3E08 

760 

LD 

A ,  8 

F2B8 

84 

770 

ADD 

A ,  H 

F2B9 

67 

780 

LD 

H ,  A 

F2BA 

ID 

790 

DEC 

E 

3  DRITTEL  FERTIG  ? 

F2BB 

20EF 

800 

JRNZ 

GM1 

NEIN:  WEITER 

F2BD 

0602 

810 

LD 

B ,  2 

HARDCOPY  FERTIG 

F2BF 

2144F2 

820 

LD 

HL, INST 

EINEN  ZEILENVORSCHUB 

F2C2 

CD46F2 

830 

CALL 

MOV 

IM  GRAFIKMOOUS 

F2C5 

3E0A 

835 

LD 

A ,  10 

AUSGEBEN 

F2C7 

18AD 

840 

JR 

GRP 

F2C9 

0E08 

850  GR88 

LD 

C ,  8  i 

;8  X  8  PIXEL 

F2CB 

E5 

860  R0L1 

PUSH 

HL 

F2CC 

0608 

870 

LD 

B ,  8  ; 

:PR0  ZEICHENPOSITION 

F2CE 

CB06 

880  R0L2 

RLC 

(HL) 

F2D0 

1F 

890 

RRA 

\ 

F2D1 

24 

900 

INC 

H  | 

F2D2 

10FA 

910 

DJNZ 

R0L2 

F2D4 

C5 

920 

PUSH 

BC 

F205 

CD81F2 

930 

CALL 

AGR  ; 

[ZWEIMAL  AUSGEBEN  VER- 

F2D8 

CD81F2 

935 

CALL 

AGR  j 

l  GRÖSSERT  DAS  BILD 

F2DB 

CI 

940 

POP 

BC 

F2DC 

El 

950 

POP 

HL 

F2DD 

00 

960 

DEC 

C 

F2DE 

20EB 

970 

JR 

NZ.R0L1 

F2E0 

C9 

980 

RET 

F2E1 

E5 

990  VOR 

PUSH 

HL 

STEUERWORTTABELLE 

F2E2 

2130F2 

1000 

LD 

HL ,  VTB 

GRAFIKMODUS 

F2E5 

0607 

1010 

LD 

B ,  7 

7  STEUERWORTE 

F2E7 

C046F2 

1020 

CALL 

MOV 

AUSGEBEN 

F2EA 

1620 

1030 

LD 

D ,  32 

NÄCHSTE  32  POSITIONEN 

F2EC 

El 

1040 

POP 

HL 

F2ED 

C9 

1050 

RET 

F2EE 

3E0A 

1060  ENTER 

LD 

A ,  10 

ZEILENVORSCHUB 

F2F0 

CD81F2 

1070 

CALL 

AGR 

AUSGEBEN 

F2F3 

3E0D 

1080 

LD 

A,  13 

ENTER-COOE  LADEN 

F2F5 

C9 

1090 

RET 

F2F6 

1101  , 

END 

Die  vorgestellte  Centronics-  fähig.  Sie  akzeptiert  die  Funk- 
Treiber  Software  (Tabelle  5.6)  tionen  LPRINT  und  LLIST  direkt, 
ist  auf  dem  ZX.  Spectrum  lauf-  die  Funktion  COPY  muß  Uber 


40 


RANDOMI ZE  USR  Startadresse  +  6 

aufgerufen  werden.  DartLber  hin¬ 
aus  sind  mit  diesem  Treiber  auch 
Drucker aus gaben  aus  anderen  Pro¬ 
grammen  heraus  möglich.  Bedin¬ 
gung  dafür  ist,  daß  die  Drucker- 
ausgaberoutine  dieser  Programme 
das  Zeichen  im  A-Register  des 
Prozessors  über  den  aktuell 
geöffneten  Kanal  ausgibt.  Nach 
dem  Laden  des  Programms  wird  mit 
dem  Befehl 

RANDOMI ZE  USR  Startadresse 
die  PIO  initialisiert  und  dem 
Rechner  mitgeteilt,  wohin  er  die 
zu  druckenden  Daten  schicken 
soll. 

Für  die  schon  erwähnte  inter¬ 
ruptgesteuerte  Drucker aus gäbe 
wäre  neben  einem  anderen  Trei- 
berprogramm  die  Verbindung  des 
PIO-Anschlusses  IEI  mit  +5  V 
oder  dem  Anschluß  IEO  des  höher 
priori sierten  Interface-Schalt¬ 
kreises  erforderlich.  Natürlich 
können  einfache  Drucker treiber 
unter  Nutzung  der  guten  String- 
ver  arbe  i  t  ung  smö  g  1  i  chke  i  t  en  des 
Spectrum  auch  in  Basic  geschrie¬ 
ben  werden.  Dazu  sei  noch  ange¬ 
merkt,  daß  es  viel  Programmier- 
aufwand  und  Speicherplatz  spart, 
wenn  häufig  gebrauchte  St euer Se¬ 
quenzen  (Escape-Folgen)  wie  im 
folgenden  Beispiel  in  eine 
Stringvariable  übernommen  wer¬ 
den: 


Bild  5.  35  Behelfslösung  für  Amphenol  -St  ecKverhlnder  (Einzel - 
platine) 


0 

GNO 


Bild  5.  33  Genormte  Belegung 
eines  Centronlcs-StecKverhlnders 
(Amphenol ) 


41 


+CHR$  ( 100)  +CHR$  (0) 

20  LPRINT  G$ 

Die  Bilder  5.  33  und  5.  34  zeigen 
die  Anschlußbelegungen  der  ver¬ 
wendeten  Drucker.  Während  der 
Steckverbinder  für  den  K  63xx 
sicher  leicht  zu  beschaffen  ist, 
gibt  es  bei  den  Amphenol -Steck¬ 
verbindern  manchmal  Schwierig¬ 
keiten.  Im  Bild  5.  35  ist  dafür 
eine  Behelf slösung  angegeben. 
Diese  Leiterplatte  wird  zweimal 
angefertigt;  die  Rückseiten  sind 
mit  einer  0,  5  mm  dicken  Blech- 
zwischenlage  nach  Bild  5.  36  zu¬ 
sammenzukleben.  Dazu  kann  z.  B. 
Helapox  schnei  1  härtend  verwendet 
werden.  Es  empfiehlt  sich  sehr, 
diesen  Ersatzstecker  zu  verzin¬ 
nen,  ,da  es  anderenfalls  oft  zu 
Kontaktschwierigkeiten  kommt. 


üeiterseite 


Leiterseite 


Platine  1 

Blechzwischenlage 
0.5  mm 


Platine  2  ' 


Bild  5.  36  Auf  hau  der  Amphenol - 
Behelfslösung 


5.  6.  4.  Prograranlerung  der  PIO 
U  655  lm  Interruptbe¬ 
trieb 

Die  Programmierung  von  Inter¬ 
ruptanforderungen  wird  beim  ZX 
Spectrum  durch  das  ULA  sehr  er¬ 
schwert.  Dieses  löst  hardware¬ 
mäßig  alle  20  ms  einen  Interrupt 
aus,  ln  dem  u.  a.  die  Tastatur 
abgefragt  wird.  Der  Prozessor 
läuft  dazu  im  Interruptmodus  1 
(IMi).  In  diesem  Modus  führt  der 
Prozessor  bei  Jeder  Interruptan¬ 
forderung  einen  Unterprogramm¬ 
aufruf  auf  Adresse  36H  aus.  Erst 
der  viel  leistungsfähigere  IM2 
erlaubt  es  aber,  das  Programm  ih 


Abhängigkeit  von  der  peripheren 
Interruptquelle  zu  verzweigen. 
Leider  ist  dafür  das  ULA  nicht 
ausgelegt.  Es  ist  daher  -  pro¬ 
grammtechnisch  einfacher,  auf 
den  ULA- Interrupts  aufzubauen 
und  mit  der  Tastaturabfrage 
z.  B.  auch  einen  PlO-Port  ein¬ 
zulesen.  Da  das  dann  ebenfalls 
alle  20  ms  abläuft,  sind  auch 
relativ  zeitkritische  Aufgaben 
lösbar. 


5.  6.  5.  Parallel  Schnittstelle 
mit  der  PIO  6255 

Der  Schaltkreis  6255  entstammt 
dem  Prozessorsystem  6060 ,  ist 
aber  auch  im  System  U  660  eln- 
setzbar.  Gegenüber  der  PIO  U  655 
weist  er  24  Ein-/Ausgänge  auf 
und  ist  einfacher,  aber  nicht  so. 
universell  programmierbar.  Die 
24  Ein-/Ausgänge  sind  in  3  Ports 
zu  Je  6  bi t unterteilt.  Der  Port 
C  kann  in  2  Gruppen  zu  Je  4  bit 
dem  Port  B  (CO  bis  C3)  und  dem 
Port  A  (C4  bis  C7)  zugeordnet 
werden,  womit  die  PIO  6255  eine 
2 -Port -Struktur  zu  Je  12  bit 
aufweist.  Die  PIO  6255  läßt  sich 
in  3  Betriebsarten  (Moden)  be¬ 
treiben: 

Mode  0  -  Standard-Ein-/Ausgabe 
ohne  Quittungssignale, 
Mode  1  -  getaktete  Ein-/Ausgabe 
mit  Quittungssignalen, 
Mode  2  -  bidirektionaler  Be¬ 
trieb  mit  Quittungs¬ 
signalen. 

Zur  Definition  der  Betriebsart 
wird  der  PIO  6255  ein  Steuerwort 
mitgeteilt,  das  das  in  Tabelle 
5.  7  abgegebene  Format  hat. 

In}  Bild  5.37  ist  eine  Möglich¬ 
keit  des  Anschlusses  der  PIO 
6255  an  den  ZX  Spectrum  gezeigt. 
Diese  Schaltung  benutzt  die 
gleichen  Adressen  wie  die  Schal - 


42 


Tabelle  5.7  Steuerwort-Aufbau  des  PIO- 
Schaltkrelses  6255 


Bit 

0/1 

Bedeutung 

Gruppe 

B 

DO 

0 

Port  C  untere  4  Bit  Ausgang 

1 

Port  C  untere  4  Bit  Eingang 

Dl 

0 

Port  B  Ausgang 

1 

Port  B  Eingang 

D2 

0 

Betriebsart  0 

1 

Betriebsart  1 

Gruppe 

A 

D3 

j 

0 

Port  C  obere  4  Bit  Ausgang 

1 

Port  C  obere  4  Bit  Eingang 

D5/D6 

0 

0 

Betriebsart  0 

0 

1 

Betriebsart  1 

1 

X 

Betriebsart  2 

D7 

0 

-  Betriebsart  definieren 

1 

Einzelbit  setzen/ löschen 

tung  mit  der  PIO  U  655 ,  da  in 
Kleincomputersystemen  vermutlich 
eine  PIO  ausreicht.  Die  PIO  6255 
hat  einen  H-aktiven  Reset-An¬ 


schluß,  so  daß  die  Reset-Leitung 
des  Rechners  invertiert  werden 
muß,  falls  nicht  nur  vom  Power- 
on-Reset  Gebrauch  gemacht  wird. 
Nach  einem  Reset  sind  alle  in¬ 
ternen  Register  zurtlcKgesetzt, 
die  Ports  A,  B  und  C  sind  als 
Eingänge  definiert.  Die  An¬ 
schlußbelegung  der  PIO  6255  ist 
dem  Bild  5.  36  zu  entnehmen. 


5.7.  Serielle  Schnittstellen 

Im  Gegensatz  zu  einer  Parallel- 
Schnittstel le,  bei  der  ganze 
Bytes  übergeben  werden,  erfolgt 
bei  der  seriellen  Schnittstelle 
der  Datentransport  Bit  für  Bit 
als  Folge  von  Spannung s impu 1 sen 
einer  bestimmten  Dauer.  Ein  sehr 
weit  verbreiteter  Standard  für 
serielle  Schnittstellen  ist  die 
Norm  V.  24  bzw.  RS  232  C.  Hierbei 
werden  Pakete  von  5  bis  6  Daten- 


Blld  5.  37  Anschluß  der  PIO  6255 
an  den  ZX  Spectrum 


43 


PA  3 
PA2 
PA1 
PA0 

55 

CS 

0  V 

AI 

A0 

PC7 

PC6 

PC5 

PC4 

PC0 

PCI 

PC  2 

PC3 

PBO 

PB1 

PB2 


Bild  5.  36  Anschlußbelegung  der 
PIO  6255 


bits  übertragen,  die  von  einem 
Startbit  und  ein  bis  zwei  Stop- 
bits  eingerahmt  sind.  Zusätzlich 
Kann  vor  dem  Stopbit  ein  Pari¬ 
tätsbit  vereinbart  werden,  das 
die  Anzahl  der  High-Bits  im 
Datenwort  auf  einen  geraden  oder 
ungeraden  Wert  ergänzt.  Das 
Prinzip  einer  V.  24-Datentlbertra- 
gung  ist  im  Bild  5.  39  darge¬ 
stellt.  Daraus  geht  hervor,  daß 
das  Startbit  grundsätzlich  High- 
und  das  Stopbit  grundsätzlich 
Low-Pegel  hat. 

Zur  Erhöhung  der  Störungsfestig- 


Keit  wird  logisch  Eins  (gesetz¬ 
tes  Bit)  nicht  durch  +5  V,  son¬ 
dern  durch  eine  Spannung  von  -3 
bis  -12  V  realisiert,  logisch 
Null  dementsprechend  mit  +3  bis 
+  12  V.  Für  eine  solche  Schnitt¬ 
stelle  sind  also  neben  der  Si- 
gnalaufbereitung  auch  Pegel Wand¬ 
ler  erforderlich,  die  als  inte¬ 
grierte  Schaltkreise  zur  Verfü¬ 
gung  stehen  oder  entsprechend 
Bild  5.40  diskret  auf  gebaut 
werden  können.  Die  V.  24-Schnitt- 
stelle  arbeitet  mit  verschiede¬ 
nen,  genormten  Datenübertra¬ 
gungsraten,  die  in  Baud  (bit  pro 
Sekunde)  angegeben  werden.  Die 
am  häufigsten  verwendeten  über¬ 
tragungsraten  sind  75,  110,  135, 
150,  300,  600,  1200,  2400,  4600, 
9600  und  19200  Baud.  über  eine 
V.  24-Schnittstel le  ist  Duplexbe¬ 
trieb  möglich,  d.  h.  ,  der  Compu¬ 
ter  kann  gleichzeitig  Daten  sen¬ 
den  und  empfangen.  Dabei  können 
Sender  und  Empfänger  mit  unter- 
s  chi e d 1 i chen  Da t  enüber tr agung  s - 
raten  betrieben  werden. 

Für  die  Realisierung  einer  se¬ 
riellen  Schnittstelle  im  allge¬ 
meinen  steht  im  Prozessorsystem 
U  660  der  Schaltkreis  U  656 
(SIO)  zur  Verfügung.  Dieser  wird 
meist  noch  durch  einen  CTC- 
Schaltkreis  U  657  zur  Einstel¬ 
lung  der  Datenübertragungsraten 
ergänzt.  Mit  diesen  beiden  Bau¬ 
steinen  ist  eine  V.  24-Schnitt¬ 
stel  le  für  nahezu  beliebige  Da¬ 
tenraten  im  Duplexbetrieb  rea¬ 
lisierbar.  Dabei  überninmt  die 
SIO  die  Paral  lel-Serien-Wand- 
lung,  die  Erzeugung  von  Start-, 
Stop-  und  Paritätsbits  sowie  die 
Verarbeitung  entsprechender 


High  H- 


Kein 


Low 


Zeichen 
=  Stop  (high) 


Start- 
Bit  r- 


,,  (Parity)  Stop  (Stop)  Kfei'n 

r  «T  !  o  I.  i.  I  0:1.  0  I  _  '< 


0  I  1 


6  i  P 


.  _  •  .  :  2  I  3  !  4  !  L  w  .  .  , 

1  1  1  1  1  1  1  I 

JL - L - j - J - ± - JL - J - - J 


!  Bit  1  I  Bit-  2  I  Zeichen 


Bild  5.  39  Prinzip  der  V,  24- Übertragung 


44 


4.7k 


Bild  5.40  Pegel wandler  für 
V.  24-Schnlttstellen 


Steuersignale.  Schal tungsbei- 
spiele  für  solche  Schnittstellen 
sind  in  der  Literatur  bereits 
mehrfach  veröffentlicht  worden 
[2],  [8],  [9]. 

Beide  Schaltkreise  'belegen  al¬ 
lerdings  Jeweils  4  E/A-Adressen. 
Das  läßt  einen  solchen  Aufbau 
für  den  ZX  Spectrum  mit  seinem 
ohnehin  stark  eingeschränkten 
Adreßraum  ungeeignet  erscheinen, 
zumal  der  vermutliche  Haupt  an¬ 
wendungsfall,  der  Betrieb  eines 
Druckers  mit  V.  24-Schnittstel 1 e, 
einen  solchen  Aufwand  nicht 
rechtfertigt,  über  eine  PIO  oder 
einen  anderen  E/A-Baustein  ist 
es  Jedoch  möglich,  mit  geeigne¬ 
ter  Software  eine  V.  24-Schnitt¬ 
stel  le  zu  simulieren.  Das  soll 
am  Beispiel  des  Anschlusses  ^der 
e  1  ektroni  sehen  Schreibmaschine 
Erika  S  3004  an  den  ZX  Spectrum 
näher  erläutert  werden. 


5.  7.  1.  Anschluß  der  Erika  S  3004 

Die  Typenrad-Schreibmaschine 
S  3004  enthält  einen  eigenen  Mi¬ 
krorechner,  der  sämtliche  inter¬ 
nen  Abläufe  steuert.  Es  wird  der 
Einchiprechner  UB  6840  angewen¬ 


det,  dessen  Programm  auf  einem 
externen  EPROM  U  2732  (4k  x  8 

bit)  abgelegt  ist.  über  Aufbau, 
Funktion,  Befehlssatz  und  Pro¬ 
grammierung  dieses  Einchiprech¬ 
ners  kann  u.  a.  in  [10]  nachgele¬ 
sen  werden. 

Zur  S  3004  werden  als  Option 
verschiedene  Interface-Kassetten 
angeboten,  die  aber  zum  Zeit¬ 
punkt  der  Manuskripterarbeitung 
noch  nicht  zur  Verfügung  stan¬ 
den.  Geplant  sind  V.  24-,  Centro¬ 
nics-  und  Commodore-Schnittstel- 
len.  Für  den  Anschluß  dieser  In¬ 
terface-Kassetten  dient  ein  an 
der  rechten  Seite  der  Maschine 
befindlicher  2  x  13po'liger  EGS- 
Steckverbinder  (Bild  5.41).  Von 
den  26  Leitungen  sind  allerdings 
nur  ganze  6  wirklich  beschältet, 
und  positive  Betriebsspannung 
(+5  V)  sind  auf  diesen  Steckver¬ 
binder  die  Porti  ei tungen  P30, 
P31 ,  P36  und  P37  des  UB  8840 
geführt.  Die  Leitungen  P30  und 
P31  sind  serielle  Eingänge,  die 
Leitungen  P36  und  P37  serielle 
Ausgänge  des  Einchiprechners. 

Von  Bedeutung  für  die  Anwendung 
der  S  3004  als  Drucker  sind  die 
Leitungen  P30  (Datenleitung)  und 
P36  (BUSY-Signal ) .  Die  Schnitt¬ 
stelle  arbeitet  mit  einer  Daten¬ 
übertragungsrate  von  1200  Baud, 
einem  Startbit,  8  Datenbits  und 
zwei  Stopbits  ohne  Parität. 
Leider  ist  die  direkte  Ansteue¬ 
rung  der  Schreibmaschine  mit 
ASCII -codierten  Zeichen  nicht 
möglich,  da  intern  ein  Code  ver¬ 
wendet  wird,  der  der  Position 
des  Zeichens  auf  dem  Typenrad 
entspricht.  Die  Umcodierung 
könnte  hardwaremäßig,  etwa  über 
einen  EPROM,  vor genommen  werden, 
was  aber  den  Aufwand  wieder  er¬ 
höht.  Deshalb  wird  vom  Treiber¬ 
programm  eine  Umcodierung  über 
eine  Zuordnungstabei le  durchge- 


45 


O  O  I 

rn  m  a 

nicht-  belegt  *- 

i — i — i — i — i — I — i — i — i — i  I  I  I 

ooooooooooooo 

1  2  3  U  5  6  7  8  9  10  11  12  13 


i — i — i — i — i — | — i — i — i — ■  |  |  j 

nicht  belegt 

r-  >  r— 

m  in  m 
CL  +  Ql 

Bild  5.  41  Anschlußbelegung  des 
Int  er  face -Steckverbinders  der 
Erika  S  3004 


führt.  Die  Zuordnung  des  inter¬ 
nen  Codes  der  Schreibmaschine 
zum  ASCII -Code  ist  Tabelle  5.  8 
zu  entnehmen. 

Nicht  benötigte  bzw.  auf  dem 
Typenrad  nicht  vorhandene  Zei¬ 
chen  wurden  Null  gesetzt.  Hier 
Kann  bei  Bedarf  ein  anderer  Code 
eingetragen  werden.  über  die 
ASCII -Zeichen  hinaus  existiert 


Tabelle  5.  8  Interne  Codes  der  Schreib¬ 
maschine  Erika  S  3004 


ASCII 

dez. 

hex. 

Zeichen 

S  3004 

dez. 

hex. 

0 

00 

0 

00 

1 

01 

0 

00 

2 

02 

0 

00 

3 

03 

0 

00 

4 

04 

0 

00 

5 

05 

0. 

00 

6 

06 

0 

00 

7 

07 

0 

00 

8 

08 

0 

00 

9 

09 

0 

00 

10 

OA 

0 

00 

11 

OB 

0 

00 

12 

'  OC 

0 

00 

13 

OD 

ENTER 

11 

77 

14 

OE 

0 

00 

15 

OF 

0 

00 

16 

10 

0 

00 

17 

11 

0 

00 

18 

12 

0 

00 

19 

13 

0 

00 

20 

’  14 

0 

00 

21 

15 

0 

00 

22 

16 

0 

00 

23 

17 

0 

00 

24 

18 

0 

00 

25 

19 

0 

00 

26 

1A 

0 

00 

27 

1B 

0 

00 

28 

IC 

0 

00 

29 

ID 

0 

00 

30 

IE 

0 

00 

31 

46 

1F 

0 

00 

/ 


32 

33 

34 

35 

36 

37 

36 

39 

40 

41 

42 

43 

44 

45 

46 

47 

46 

49 

50 

51 

52 

53 

54 

55 

56 

57 

56 

59 

60 

61 

62 

63 

64 

65 

66 

67 

68 

69 

70 

71 

72 

73 

74 

75 

76 

77 


hex. 


hex. 


Zeichen  S  3004 
dez. 


20 

SPACE 

113 

71 

21 

» 

66 

42 

22 

t» 

67 

43 

23 

# 

65 

41 

24 

$ 

72 

48 

25 

z  / 

4 

04 

26 

& 

2 

02 

27 

* 

23 

17 

28 

( 

30 

IE 

29 

) 

31 

1F 

2A 

K 

27 

1B 

2B 

+ 

37 

25 

2C 

1 

100 

64 

2D 

- 

98 

62 

2E 

, 

99 

63 

2F 

/ 

64 

40 

30 

0 

0 

0D 

31 

1 

17 

11 

32 

2 

16 

10 

33 

3 

15 

OF 

34 

4 

14 

OE 

35 

5 

12 

OC 

36 

6 

11 

OB 

37 

7 

10 

OA 

38 

8 

9 

09 

39 

9 

8 

08 

3A 

l 

19 

13 

3B 

i 

59 

3B 

3C 

< 

0 

00 

3D 

= 

46 

2E 

3E 

> 

0 

00 

3F 

? 

53 

35 

40 

§ 

0 

00 

41 

A 

48 

30 

42 

B 

24 

16 

43 

C 

32 

20 

44 

D 

20 

14 

45 

E 

52 

34 

46 

F 

62 

3E 

47 

G 

28 

IC 

48 

H 

16 

12 

49 

I 

33 

21 

4A 

J 

50 

32 

4B 

K 

36 

24 

4C 

L 

'44 

2C 

4D 

M 

22 

16 

47 


ASCII 

dez. 

hex. 

Zeichen 

S  3004 

dez.  hex. 

78 

4E 

N 

42 

2A 

79 

4F 

0 

30 

IE 

80 

50 

P 

47 

2F 

81 

51 

Q 

26 

1A 

82 

52 

R 

54 

36 

83 

53 

S 

- 

51 

33 

84 

54 

T 

55 

37 

85 

55 

U 

40 

28 

86 

56 

V 

34 

22 

87 

57 

W 

45 

2  Ds 

88 

58 

X. 

38 

26 

89 

59 

Y 

49 

31 

90 

5A 

Z 

56 

38 

91 

5B 

Ä 

63 

3F 

92 

5C 

ü 

60 

3C 

93 

5D 

U 

58 

3A 

94 

5E 

A 

0 

,  00 

95 

5F 

1 

01 

96 

60 

* 

6 

06 

97 

61 

a 

97 

61 

98 

62 

b 

78 

4E 

99 

63 

c 

87 

57 

100 

64 

d 

83 

53 

101 

65 

e 

90 

5A 

102 

66 

f 

73 

49 

103 

67 

g 

96 

60 

104 

68 

h 

85 

55 

105 

.  69 

i 

5 

05 

106 

6A 

J 

75 

4B 

107 

6B 

k 

80 

50 

108 

6C 

l 

77 

4D 

109 

6D 

m 

74 

4A 

110 

6E 

n 

92 

5C 

111 

6F 

0 

94 

5E 

112 

70 

P 

91 

5B 

113 

71 

q 

82 

52 

114 

72 

r 

89 

59 

115 

73 

s 

88 

58 

116 

74 

t 

86 

56 

117 

75 

u 

93 

5D 

118 

76 

V 

79 

4F 

119 

77 

w 

76 

4C 

120 

78 

X 

95 

5F 

*121 

79 

Y 

81 

51 

122 

7A 

z 

84 

54 

123 

7B 

ä 

101 

65 

48 


ASCII 

dez. 

hex. 

Zeichen 

S  5004 

dez.  hex. 

124 

7C 

ö 

102 

66 

125 

7D 

ü 

103 

67 

126 

7E 

ß 

71 

47 

127 

7F 

0 

00 

eine  Anzahl  Steuerwörter  (Esca- 
pe-Folgen),  deren  Bedeutung  aus 
der  Tabelle  5.9  ersichtlich  ist. 
Beim  Senden  der  als  nicht  belegt 
gekennzeichneten  Codes  reagiert 
die  Schreibmaschine  zwar  auch, 
allerdings  Konnten  dabei  Keine 
sinnvollen  Funktionen  nachgewie¬ 
sen  werden.  Wahrscheinlich  ist, 
daß  diese  Codes  TestzwecKen  beim 
Hersteller  Vorbehalten  sind.  Für 
den  Betrieb  der  S  5004  an  der 
beschriebenen  V.  24-Schnittstel le 
sind  Keine  Pegelwandler  erfor¬ 
derlich,  da  sowohl  die  PIO  als 
auch  der  Einchiprechner  ledig¬ 
lich  TTL-Pegel  verarbeiten. 
Somit  beschränkt  sich  das  Inter¬ 


face  neben  der  PIO-Karte  aus 
Abschnitt  5.  6.  2.  auf  ein  drei¬ 
adriges  Kabel,  das  Computer  und 
Schreibmaschine  gemäß  Tabelle 
5.  10  verbindet. 

An  dieser  Stelle  sei  noch  ange¬ 
merkt,  daß  die  Porti ei tungen  des 
Einchiprechners  der  Schreibma¬ 
schine  ungepuffert  auf  den  In¬ 
terface-Steckverbinder  geführt 
sind.  Unachtsamkeiten  (falsche 
Pegel,  vertauschte  Leitungeri, 
Verbindung  einer  Porti eitung  mit 
Masse  oder  +5  V  usw.  )  können 
hier  relativ  große  (und  teure) 
Schäden  verursachen.  Es  wird 
deshalb  empfohlen,  trotz  des 
etwas  größeren  Aufwands  nicht 


Tabelle  5.9  Steuercodes  des  Erika  S  5004 


Code 

dez. 

S  5004 

hex. 

Funktion 

113 

71 

Leerzeichen  (Space) 

114 

72 

RUcks  ehr i 1 1  ( Backspac  e ) 

115 

73 

Halbschritt  rechts 

116 

74 

Halbschritt  links 

117 

75 

Halbschritt  hoch 

118 

76 

Halbschritt  runter 

119 

77 

Wagenrückl auf /Zei 1 enschal tung  (CR/LF) 

120 

76 

Wagenrücklauf  (CR) 

121 

79 

Tabulator 

122 

7A 

Tabulator  auf  aktuel le  Position  setzen 

123 

7B 

Tabulator  auf  aktueller  Position  löschen 

124 

7C 

Alle  Tabulatoren  löschen 

125 

7D 

Tabulator-Raster  setzen  (auf  15,  25,  35,  45,  55,  65) 

126 

7E 

linken  Rand  auf  aktuelle  Position  setzen 

127 

7F 

rechten  Rand  auf  aktuelle  Position  setzen 

126 

60 

Rand  lösen 

49 


Code 

dez. 

S  3004 

hex. 

Funkt ion 

129 

81 

Mikrostep  hoch 

130 

82 

Mikro Step  runter 

131 

83 

Papiereinzug 

132 

84 

Schreiben ..  1  zei  1  lg 

133 

85 

Schreiben  l,5zeillg 

134 

86 

Schreiben  2zeilig 

135 

87 

10  Zeichen  pro  Zoll 

136 

88 

12  Zeichen  pro  Zoll 

137 

89 

15  Zeichen  pro  Zoll 

1 38 

SA 

nicht  belegt 

139 

8B 

Druckstatus  -  Druck  aller  folgenden  Zeichen 

140 

8C 

Korrekturstatus  -  Korrektur  aller  folgenden  Zeichen 

141 

8D 

Vorwär t  s  druck 

142 

8E 

RUckwärt  s  druck 

143 

8F 

Ränder  ignorieren 

144 

90 

Ränder  berücksichtigen 

145 

91 

Druckwerk  aus,  Zeichenausgabe  an  Schnittstelle 

146 

92 

Druckwerk  ein 

147 

93 

nicht  belegt  . 

148 

94 

nicht  belegt 

149 

95 

Schreibmaschine  in  Grundstellung 

150 

96 

nicht  belegt 

151 

97 

nicht  belegt 

152 

98 

nicht  belegt 

153 

99 

nicht  belegt 

154 

9A 

nicht  belegt 

155 

9B 

Freigabe  Dauerfunktion 

156 

9C 

Sperre  Dauer funkt ion 

157 

9D 

nicht  belegt 

158 

9E 

nicht  belegt 

159 

9F 

nicht  belegt 

160 

AO 

ständig  Dauer funkt ion 

161 

Al 

Laden  der  übertragungsrate  der  Interfacebox 

162 

A2 

nicht  belegt 

169 

A9 

•  » 

nicht  belegt 

170 

AA 

Hupe  (Folgebyte  bestimmt  Dauer) 

171 

AB 

nicht  belegt 

175 

AF 

nicht  belegt 

176 

BO 

frei 

255 

FF 

frei 

50 


Tabelle  5.  10  Beschaltung  des  Interface- 
Kabels 


PlO-Port- 

leitung 

Steck¬ 

verbinder 

Signal 

S  3004 

Steck¬ 

verbinder 

A6 

A10 

RXD 

All 

A7 

All 

RTS 

A12 

Masse 

A12/13 

GND 

Al  3 

3,3  k 


Bild  5.42  S  3004-Pufferstufe 
mit  DL  008 


V  4050 

P36  <*- 
P30  o- 
P37  o- 

8  P31  - 

CO 

co  +  5V  o- 


GND  o - - - - - o  2 

Bild  5.  43  S  3004-Pufferstufe  mit 
V  4050 


-o  1 


-o  4 


Tabelle  5.  11  S  3004-Trelberprogranm 


1Q  ************************ 

20  ;***  S 

3004 

-  TREIBER 

*** 

30  .************************ 

40  ; 

F230 

50 

0RG 

62000 

; ANFANGSADRESSE 

008F 

60  PAD 

EQU 

#8F 

; PIO  PORT  A  DATEN 

OOAF 

70  PAC 

EQU 

#AF 

; PIO  PORT  A  STEUERUNG 

3C4F 

80  CHANS 

EQU 

#5C4F 

; ZEIGER  DRUCKROUTINE 

0C10 

90  TOKEN 

EQU 

#0C10 

;  TOKENBEHANDLUNG 

F230 

F3 

100  INIT 

DI 

F231 

F5 

110 

PUSH 

AF 

F232 

C5 

120 

PUSH 

BC 

F233 

E5 

130 

PUSH 

HL 

F234 

3ECF 

140 

LD 

A ,  #CF 

F236 

D3AF 

150 

OUT 

(PAC) , A 

; PORT  A  MODE  3 

F238 

3E80 

160 

LD 

A ,  #80 

F23A 

D3AF 

170 

OUT 

(PAC) , A 

; BIT  7  EINGANG 

F23C 

3E03 

180 

LD 

A ,  3 

F23E 

D3AF 

190 

OUT 

(PAC) , A 

;INTERRUPT  AUS 

F240 

3E40 

200 

LD 

A ,  #40 

F242 

D38F 

210 

OUT 

(PAD) , A 

; DATENAUSGANG  HIGH 

F244 

2A4F5C 

220 

L0 

HL, (CHANS) 

F247 

010F00 

230 

LD 

BC , #000F 

;  IN  SY'STEMVARIABLE 

F24A 

09 

240 

ADD 

HL ,  BC 

;  CHANS  +  15 

F24B 

0156F2 

250 

LD 

BC, PRINT 

; ANFANGS ADR ESSE 

51 


z  B.  Diodenbüchse 


F24E 

71 

260 

LO 

(HL ) , C 

; DER  PRINT- 

F24F 

23 

270 

INC 

HL 

; ROUTINE 

F250 

70 

280 

LO 

(HL) , B 

;LADEN 

F251 

El 

290 

POP 

HL 

F252 

CI 

300 

POP 

BC 

F253 

Fl 

310 

POP 

AF 

F254 

FB 

320 

EI 

F255 

C9 

330 

RET 

F256 

F3 

340  PRINT 

DI 

F257 

FE80 

350 

CP 

#80 

; ZEICHEN  GRÖSSER  128  ? 

F259 

3805 

360 

JR 

C ,  PRI 

; NEIN :  DRUCKEN 

F25B 

D6A5 

370 

SUB 

#A5 

F25D 

C3100C 

380 

OP 

TOKEN 

; JA :  TOKENBEHANDLUNG 

F260 

F5 

390  PRI 

PUSH 

AF 

F261 

0B8F 

400  BUSY 

IN 

A, (PAD) 

;S  3004  BEREIT  ? 

F263 

E680 

410 

AND 

#80 

F265 

20FA 

420 

OR 

NZ , BUSY 

; NEIN :  WARTEN 

F267 

Fl 

430 

POP 

AF 

; ZEICHEN  HOLEN 

F268 

C068F2 

440 

CALL 

UMCOD 

; UND  UMCOOIEREN 

F26B 

E6FF 

450 

AND 

#FF 

; CARRY-FLAG  LÖSCHEN 

F26D 

1F 

460 

RRA 

F26E 

1F 

470 

RRA 

F26F 

F3 

480 

DI 

F  2  7  Q 

0609 

490 

LD 

B ,  9 

;START-  UND  8  DATENBIT 

F272 

D38F 

500  AUSG 

OUT 

(PAO) , A 

; AUSGEBEN 

F274 

1F 

510 

RRA 

F275 

C075F2 

520 

CALL 

ZEIT 

; MIT  1200  BAUD 

F278 

10F8 

530 

OONZ 

AUSG 

; BIS  B  =  0 

F27A 

3E40 

540 

LD 

A ,  #40 

; DATENAUSGANG  =  0 

F27C 

038F 

550 

OUT 

(PAO) , A 

; SETZEN 

F27E 

C086F2 

560 

CALL 

ZEIT 

; STOPBITS 

F281 

CD86F2 

570 

CALL 

ZEIT 

;AUSGEBEN 

F284 

FB 

580 

EI 

••  ■ 

F283 

C9 

590 

RET 

F286 

C5 

600  ZEIT 

PUSH 

BC 

F287 

06D9 

610 

LO 

B ,  217 

;  ZEITSCHLEIFE 

F289 

10FE 

620  ZEIT1 

DJNZ 

ZEIT1 

;  FÜR 

F28B 

CI 

630 

POP 

BC 

; 1200  8AU0 

F28C 

C9 

640 

RET 

F28D 

C5 

650  UMCOD 

PUSH 

BC 

F28E 

E5 

660 

PUSH 

HL 

F28F 

219AF2 

670 

LD 

HL, COTAB 

; T  ABELLENANFANG 

F292 

4F 

680 

LDP 

C,A 

;ALTER  CODE  IN  C 

F293 

0600 

690 

LO 

B ,  0 

/ 

F295 

09 

700 

ADO 

HL  ,BC 

F296 

7E 

710 

LD 

A , (HL ) 

;NEUER  CODE  NACH  A 

F297 

Fl 

720 

POP 

HL 

F298 

CI 

730 

POP 

BC 

F  299 

C9 

740 

RET 

F29A 

000000 

750  COTAB 

OEFB 

#00, #00, 

#00 

; COOETABELLE 

F290 

000000 

760 

OEFB 

#00, #00, 

#00 

F2A0 

790072 

770 

DEFB 

#79, #00, 

#72 

F2A3 

000000 

780 

DEFB 

#00, #00, 

#00 

52 


F2A6 

007700 

790 

DEFB 

F2A9 

000000 

800 

DEFB 

F2AC 

000000 

810 

DEFB 

F2AF 

000000 

820 

DEFB 

F2B2 

000000 

830 

DEFB 

F2B5 

000000 

840 

DEFB 

F2B8 

000071 

850 

DEFB 

F2B8 

424341 

860 

DEFB 

F2BE 

480402 

870 

DEFB 

F2C1 

171D1F 

880 

DEFB 

F2C4 

1B2564 

890 

DEFB 

F2C7 

626340 

900 

DEFB 

F2CA 

001110 

910 

DEFB 

F2C0 

0F0E0C 

920 

DEFB 

F200 

0B0A09 

930 

DEFB 

F203 

08133B 

940 

DEFB 

F2D6 

1D2E1F 

950 

DEFB 

F2D9 

350030 

960 

DEFB 

F2DC 

182014 

970 

DEFB 

F2DF 

343E1C 

980 

DEFB 

F2E2 

122132 

990 

<  DEFB 

F2E5 

242C16 

1000 

DEFB 

F2E8 

2A1E2F 

1010 

DEFB 

F2EB 

1A3633 

1020 

DEFB 

F2EE 

372822 

1030 

DEFB 

F2F1 

202631 

1040 

DEFB 

F2F4 

383F3C 

1050 

DEFB 

F2F7 

3A6401 

1060 

DEFB 

F2FA 

57614E 

1070 

DEFB 

F2FD 

57535A 

1080 

DEFB 

F300 

496055 

1090 

DEFB 

F303 

054B50 

1100 

DEFB 

F306 

404A5C 

1110 

DEFB 

F309 

5E5B52 

1120 

DEFB 

F30C 

595856 

1130 

DEFB 

F30F 

5D4F4C 

1140 

DEFB 

F312 

5F5154 

1150 

DEFB 

F315 

656667 

1160 

DEFB 

F318 

47 

1170 

DEFB 

F319 

1180 

END 

auf  eine  Puff  er  stufe  zu  verzi  eil¬ 
ten.  Geeignet  sind  u.  a,  die 
Schaltkreise  U  4050  (enthält  6 
CMOS -Treiber)  und  DL  006  AND- 
Gatter),  wie  den  Bildern  5.42 
und  5. 43  zu  entnehmen  ist.  Bei 
Verwendung  des  CMOS-Treibers 
sind  eventuell  Pul  1 -up-Wider- 
stände  erforderlich,  wenn  er  mit 
TTL-Pegel  angesteuert  wird.  Eine 
sehr  elegante  Lösung  ist  auch 
der  Einsatz  von  Optokopplern. 


#00, #77, #00 
#00, #00, #00 
#00, #00, #00 
#00, #00, #00 
#00, #00, #00 
#00, #00, #00 
#00, #00, #71 
#42, #43, #41 
#48, #04, #02 
#17 , #1D , #1F 
#1B , #25 , #64 
#62, #63, #40 
#00, #11, #10 
#0F , #0E , #0C 
#0B , #0A , #09 
#08 , #13 , #38 
#10 , #2E , #1F 
#35, #00, #30 
#18, #20, #14 
#34 , #3E , #1C 
#12, #21, #32 
#24 , #2C , #16 
#2A , #1E , #2F 
#1 A , #36 , #33 
#37, #28, #22 
#20, #26, #31 
#38 , #3F , #3C 
#3A , #64 , #01 
#57 , #61 , #4E 
#57 , #53 , #5A 
#49, #60, #55 
#05 , #4B , #50 
#4D , #4A , #5C 
#5E,#5B,#52 
#59, #58, #56 
#50 , #4F , #4C 
#5F , #51 , #54 
#65, #66, #67 
#47 


Tabelle  5.  11  enthält  das  Kommen  - 
tierte  Listlng  des  Treiberpro- 
granins.  Es  ist  lauf  fähig  auf  der 
48-KByte-Version  des  ZX  Spectrum 
und  Kann  auf  beliebige  Adressen 
im  oberen  32-KByte-Speicherbe- 
reich  geladen  werden.  Das  Pro¬ 
gramm  INIT  muß  nach'  dem  Laden 
einmal  durchlaufen  werden.  ln 
der  unteren  32-KByte-Hälfte  ist 
das  Programm  nicht  ohne  weiteres 
lauf  fähig,  da  durch  die  mit  dem 


53 


Programml  auf  nicht  synchroni¬ 
sierten  ULA-Zugriffe  (Bildauf¬ 
bau)  die  Zeitkonstanten  verän¬ 
dert  werden. 


5.  7.  2.  Fernschreiber-Anschluß 

Ein  anderer  serieller,  sehr 
störsicherer  Standard  ist  die 
Norm  RS  232/TTY.  Hier  werden  die 
logischen  Zustände  durch  das 
Fließen  oder  Fehlen  eines  Stroms 
von  meist  20  mA  dargestellt.  Mit 
einer  solchen  Schnittstelle  sind 
z.  B.  Fernschreiber  ausgestat¬ 
tet,  die  zuweilen  als  Altgeräte 
sehr  preiswert  Erhältlich  sind. 
Sie  lassen  sich  als  einfache 
(wenn  auch  sehr  laute)  Ausgabe¬ 
möglichkeit  für  Kleincomputer 
einsetzen,  wenngleich  Schrift¬ 
bild  und  Zeichenumfang  nur  ge¬ 


ringen  Ansprüchen  gerecht  wer¬ 
den.  Zur  Kopplung  eines  Fern¬ 
schreibers  mit  dem  ZX  Spectrum 
kann  das  im  Bild  5.44  darge¬ 
stellte  Interface  verwendet  wer¬ 
den.  Um  einen  Strom  von  20  mA 
durch  den  Empfangsmagneten  des 
Fernschreibers  zu  treiben,  ist 
eine  Spannung  von  etwa  40,  V  er¬ 
forderlich.  Diese  Spannung  kann 
sinnvoll  nur  durch  ein  separates 
Netzteil  erzeugt  werden.  Um  bei 
eventuellen  Fehlern  in  diesem 
Netzteil  den  Computer  nicht  zu 
gefährden,  wurden  Nieder-  und 
Hochspannungsseite  des  Inter¬ 
faces  durch  einen  Optokoppler 
galvanisch  getrennt.  Die  Ansteu¬ 
erimpulse  werden  durch  den  Spec¬ 
trum  an  dessen  Tonband-Anschluß 
bereitgestellt  (MIC-  bzw.  EAR- 
Buchse).  Mit  einem  Operations¬ 
verstärker  ( IC1 )  werden  die  Im- 


SY  360 


220V- 


Femschreib- 

maschine 


Bild  5.45  Layout  für  das  RS  232/TTY-  In  t  er  face 


54 


Bild  5.  46  Bes t UcKungspl an 


pulse  auf  etwa  9  V  verstärkt  und 
über  einen  Schal ttransistor  dem 
Optokoppler  IC2  zugeführt.  Die¬ 
ser  schaltet  auf  der  Hochspan¬ 
nungsseite  den  Transistor  VT2. 
Die  Sekundärspannung  des  Netz¬ 
transformators  ist  so  zu  bemes¬ 
sen,  daß  durch  den  Empfangsma¬ 
gneten  des  Fernscheibers  20  mA 
fließen.  Diese  Spannung  kann  zu¬ 
nächst  experimentell  mit  einem 
Stelltransformator  ermittelt 
werden.  Primärseitig  ist  eine 
Sicherung  von  etwa  35  mA  vorzu¬ 
sehen.  Da  die  Schaltung  Netzpo¬ 
tential  führt,  ist  ein  berüh¬ 
rungssicherer  Aufbau,  gegebenen¬ 
falls  unter  Hinzuziehung  eines 
Fachmanns,  erforderlich!  Zur 
Ansteuerung  des  Fernschreiber- 
Interfaces  kann  ein  Programm 
verwendet  werden,  das  ähnlich 
wie  das  Steuerprograrm  für  die 
el  ektroni  sehe  Schreibmas  chine 

arbeitet.  Natürlich  sind  dann 


die  Ausgabeadresse,  die  Baudrate 
und  die  Codiertabelle  entspre¬ 
chend  zu  ändern.  Layout  und 
Bestückungsplan  für  das  Fern¬ 
schreiber-Interface  sind  in  den 
Bildern  5.45  und  5.46  darge¬ 
stellt,  den  Musteraufbau  zeigt 
Bild  5.  47. 


5.  6.  Pegel  anpassung  fllr  Kas¬ 
settenrecorder 

Unter  den  Massenspeichern  für 
Heim-  und  Kleincomputer  nehmen 
zumindest  zur  Zeit  Magnetband¬ 
kassetten  eine  dominierende 
Stellung  ein,  Trotz  der  zuneh¬ 
menden  Verfügbarkeit  schneller 
und  sicherer  Speichermedien  auch 
für  diese  Geräteklasse  lohnt  es 
sich  deshalb,  die  Übertragung 
vom  bzw.  zum  Kassettenrecorder 
zu  verbessern.  Dadurch  kann  eine 
höhere  Datensicherheit  oder  eine 


Bild  5.47  Must  er  auf  bau 


55 


+5V 


Bild  5.46  Schaltung  der  SAVE/LOAD-Pegelanpassung 


schnellere  Aufzeichnung  erreicht 
werden.  Die  Pegel anpassung  er¬ 
möglicht  die  Verwendung  von  Auf- 
zeichnungsgeräten  mit  Dioden¬ 
buchse  an  (regelmäßig)  nicht  da¬ 
für  geeigneten  Computern.  Uber 
das  Interface  im  Bild  5.46  funk¬ 
tioniert  die  Zusammenarbeit  des 
ZX  Spectrum  mit  dem  Kassettenre¬ 
corder  reibungslos  und  ohne 
eventuelle  Rückkopplungen  auch 
bei  höheren  Übertragung spaten. 
Es  entfällt  damit  auch  das  lä¬ 
stige  Umstecken  von  Kopfhörer- 
und  Diodenstecker,  wie  es  zur 
Vermeidung  von  Rückkopplungen 
etwa  bei  Verwendung  des  Geracord 
erforderlich  war.  Daneben  bietet 
das  Interface  einen  gepufferten 
Video/Audio-Ausgang  für  den  An¬ 
schluß  eines  Monitors. 

Zur  Funktion  der  Schaltung:  Beim 
Abspeichern  von  Daten  gibt  die 
CPU  die  Daten  seriell  über  die 
Datenleitung  D3  an  den  ULA-Chip. 
Wird  ein  Flipflop  (IC4)  an  diese 


Datenleitung  geschaltet  und  das 
Einspeichern  Uber  IC3  von  IORQGE 
und  WR  abhängig  gemacht,  steht 
am  Ausgang  des  Flipflops  genau 
das  Signal,  das  auch  an  der  MIC- 
Buchse  ansteht,  allerdings  mit 
steileren  Flanken  und  (über  RI 6) 
einstellbarem  Pegel.  Beim  Einle¬ 
sen  wird  das  Signal  vom  Kasset¬ 
tenrecorder  durch  1  den  Opera¬ 
tionsverstärker  ICl  in  ein 
Rechtecksignal  umgewandelt  und 
über  den  Tri-State-Treiber  IC2 
genau  dann  auf  die  Datenleitung 
D6  geschaltet,  wenn  die  CPU  die 
Daten  vom  ULA-Chip  lesen  will. 
Dieser  Zustand  ist  durch  die 
aktivierten  Signale  IORQGE  und 
RD  gekennzeichnet,  die  ebenfalls 
von  IC3  ausgewertet  werden.  Der 
Audio -Anschluß  für  den  Monitor 
arbeitet  wie  der  Save-Kanal,  al¬ 
lerdings  unter  s Verwendung  der 
Datenleitung  D4.  Der  Video-An¬ 
schluß  wird  über  VT1  gepuffert, 
wie  es  bereits  im  Abschnitt  5.  3. 


56 


Z  X  -  S/L  86  -  0  6  jr 


Bild  5.49  Layout  für  das  SAVE/LOAD -Moduls 


beschrieben  wurde.  Der  Abgleich 
der  Schaltung  beschrankt  sich 
auf' die  Einstellung  von  R16  für 
den  Aufnahmepegel  und  RI 5  für 
den  Audio -Pegel. 

Zur  Verringerung  der  Flanken- 
steilheit  der  Impulse  am  Ausgang 
Audio  Out  kann  erforderlichen¬ 


falls  C3  etwas  vergrößert  wer¬ 
den.  Zu  steile  Flanken  führen 
insbesondere  bei  Recordern  mit 
Aussteuerungsautomatik  zu  einem 
"Zustopfen"  des  Eingangsverstär¬ 
kers.  Die  Interface-Platine  nach 
Bild  5.49  ermöglicht  die  Paral¬ 
lelschaltung  von  jeweils  zwei 


Bild  5.  50  BestücKungsplan 


57 


A 


•  - . ■  '  # 


Bild  5.  51  Musteraufbau 


Buchsen  für  Tonband  (X3)  bzw. 
Monitor  (X2).  Sofern  das  nicht 
gewünscht  wird,  braucht  nur  die 
Jeweils  erforderliche  Buchse 
bestückt  zu  werden.  Spezielle 
Software  ist  nicht  erforderlich, 
das  Interface  arbeitet  mit  den 
normalen  Tape -Befehlen  Save, 
Load,  Merge  usw. 


5.  8.  1.  Das  Bandfonnat 

Es  gibt  zwar  nur  wenige  grund¬ 
sätzliche  Verfahren  für  die  Auf¬ 
zeichnung  von  Daten  auf  dem  Ma¬ 
gnetband,  die  Art  und  Weise 
aber,  wie  diese  Grundprinzipien 


verwendet  werden,  ist  von  Compu¬ 
ter  zu  Computer  unterschiedlich. 
Infolgedessen  besteht  zwischen 
verschiedenen  Kleincomputer  typen 
nur  selten  Kompatibilität  der 
Bandaufzeichnungen.  Insbesondere 
für  den  Daten-  bzw.  Programmaus¬ 
tausch  über  größere  Entfernungen 
ist  aber  die  Aufzeichnung  auf 
einer  Magnetbandkassette  nahezu 
unentbehrlich.  Genaues  Wissen 
über  das  Bandaufzeichnungsformat 
ist  deshalb  nötig,  um  die  Soft¬ 
ware  auf  Rechnern  anderen  Typs 
zumindest  lesen  zu  können.  Alle 
Banddateien  des  ZX  Spectrum  wer¬ 
den  in  zwei  Blöcken  aufgezeich¬ 
net,  dem  Header  (Kopf)  und  dem 


Tabelle  5.  12  Datentypen-Ubersicht 


Codierung 

Typ  des  Datenblocks 

0 

Bas i c -Programm 

1 

Numerisches  Feld 

2 

Zeichenkettenfeld 

3 

Maschinencode  oder  Bild¬ 
schirminhalt 

58 


619.4us 

2168  T 

210/js 
735  T 

i 

488.6/js 
1710  T 

i 

244.3ns 

855T 

J 

619.4/js 

2168T 

Leitsignal 

190.6ns 

667  T 

^  488.  6/js 

1710T 

1-Signal 

244.3ns 

855  T 

O-Signal 

SyndronisationssignQl  Datensignal 


Bild  5.  52  Signal  folge  der  Bandaufzeichnung  des  ZX  Spectrum 


Tabelle  5.  13  Verwendung  der  Bytes  14  bis  17  im  Header 


Typ  Byte  14  Byte  15  Byte  16  Byte  17 


0  Autostart -Zeilennummer  Nummern  der  Bytes 

1/2  -  Feldname  - 

3  Datenanfangsadresse  - 


Datenblock.  Der  Header  ist  aus 
aus  19  Bytes  auf gebaut.  Das 
erste  Byte  des  Headers  ist  stets 
Null  (Kennbyte).  Das  zweite  Byte 
enthält  Informationen  über  den 
Typ  des  auf  den  Header  folgenden 
Datenblocks  entsprechend  der 
Tabelle  5.  12. 

Die  nächsten  10  Bytes  enthalten 
den  Dateinamen  als  ASCII -Zei¬ 
chen,  es  folgen  2  Bytes  zur 
Speicherung  der  Länge  des  fol¬ 
genden  Datenblocks.  Die  Bytes  14 
bis  17  werden  Je  nach  Daten¬ 
blocktyp  unterschiedlich  verwen¬ 
det,  wie  der  Tabelle  5.13  ent¬ 
nommen  werden  kann. 

Das  letzte  Byte,  das  sogenannte 
Parity-Byte,  wird  zu  Prüfzwecken 
beim  Laden  und  Speichern  der 
Banddateien  verwendet. 

Der  Datenblock  ist  einfacher  als 
der  Header  auf gebaut.  Er  enthält 
zwei  Bytes  mehr,  als  in  der 
Längeninformation  des  Headers 
angegeben:  das  führende  Type- 
Byte  und  das  Parity-Byte  am 


Ende.  Nach  dem  Type -Byte  folgen 
die  Datenbytes  unmittelbar  auf¬ 
einander.  Jeder  Block  beginnt 
mit  einem  Leitton  von  etwa 
800  Hz,  dessen  Ende  durch  einen 
Synchronisationspuls  mit  einer 
Low-Zeit  von  190,6  [xs  und  einer 
High-Zeit  von  210  [xs  markiert 
wird.  Für  Jedes  Datenbit  wird 
eine  vollständige  Rechteck¬ 
schwingung  abgelegt,  Sie  dauert 
488,  6  |is  für  ein  Low-Bit  bzw. 
977,  2  |jls  für  ein  High-Bit.  Das 
Aufzeichnungsverfahren  ist  sehr 
zuverlässig,  dafür  aber  nicht 
besonders  schnell  [6]. 

» 

5.  9.  Anwendungen  von  Klein¬ 
computern  ln  der  Meß- 
und  Prüftechnik 

5.  9.  1.  8-Kanal -Digital Voltmeter 

Die  Schaltung  entsprechend  Bild 
5.53  zeigt  ein  vol lständiges  Di¬ 
gitalvoltmeter  für  dem  Meßbe- 

59 


Bild  5.  53  Schaltung  des  Digital  Voltmeters 


Meßbereich 

ra 

*B 

Rc 

rd 

re 

bis  1  V 

- 

- 

- 

- 

- 

bis  10  V 

- 

- 

9  MQ 

1  MQ 

- 

bis  100  V 

- 

9  MQ 

900  kQ 

100  kQ 

- 

bis  1000  V 

9  MQ 

900  KQ 

90  kQ 

10  kQ 

.  1 

bis  10  mA 

_ 

_ 

- 

- 

100  Q 

bis  100  mA 

- 

- 

- 

1  Q 

9  Q 

bis  1000  mA 

- 

i 

- 

1  Q 

- 

Der  1  -Q-Wi  der  stand  im  Meßbereich  1000  mA  muß  mit 
mindestens  1  W  belastbar  sein! 


reich  von  -99  mV  bis  +999  mV  und 
einen  elektronischen  Meßstel len - 
umschalter  für  8  Eingänge  zum 
Anschluß  an  den  ZX  Spectrum  Als 
AD-Wandler  wird  der  C  520  einge¬ 
setzt.  Dieser  älteste  Vertreter 
der  monolithisch  integrierten 
AD-Wandler  ist  mittlerweile  fast 
vollständig  durch  das  System 
C  500  abgelöst.  Aufgrund  seiner 


Bild  5.  54  Spannungstell  er  vor 
satz  für  Vielfachmesser 


60 


Tabelle  5.  14  Treiberprogranm  für  das  Digitaivollmeter 
(Basic-Teil) 


10 

LET  PU=64200 

20 

DIM  B$( 8 , 17 ) 

30 

FOR  1=1  TO  8 

40 

PRINT  AT  20,0; "SPANNUNG  ";I 

50 

INPUT  "BEMERKUNG:" ;B$(I) 

60 

NEXT  I 

70 

PRINT  AT  20,0;" 

80 

FOR  1=1  TO  8 

90 

PRINT  AT  2*1+2 , 0 ; "U( " ; I ; " )  =  V 

" ; B$( I ) 

100 

NEXT  I 

110 

LET  1  =  1 

120 

PRINT  AT  2*1  +  2, 2;  INVERSE  1 ; I 

130 

PRINT  AT  2,17; "BEMERKUNGEN" 

140 

PRINT  AT  20,0; "KANALWECHSEL:  ZIFFER 

1  BIS  8" 

150 

PRINT  AT  21,0; "3EOE  ANDERE  TASTE:  ABBRUCH" 

160 

LET  3=1 

170 

OUT  207,1-1 

180 

RANOOMIZE  USR  64000 

190 

IF  PEEK  PU=58  THEN  POKE  PU, 45 

REM  NEG.VZ 

200 

IF  PEEK  PU  AND  PEEK  (PU+1)  AND  PEEK 

(PU+2)=59 

POKE  PU, 43 
POKE  ( PU+1 ) , 43 
POKE  ( PU+2  ) , 43 


REM  POS.UEBERLAUF 

210 

IF  PEEK  (PU+1)  AND  PEEK  (PU+2)=58 
POKE  (PU+1), 45 

POKE  (PU+2), 45 

REM  NEG . UEBERLAUF 

THEN 

220 

IF  PEEK  PU=48  THEN 

POKE  PU, 32 

230 

PRINT  AT  2*1+2, 7; 

CHR$  PEEK  PU ; CHR$  PEEK  (PU+1);CHR$ 

PEEK  (PU+2) 

240 

LET  A$= INKEY$ 

250 

IF  A$=""THEN  GO  TO  160 

260 

IF  VAL  A$  1THEN  GO  TO  240 

270 

IF  VAL  A$  8THEN  GO  TO  240 

280 

LET  I=VAL  A$ 

v 

290 

PRINT  AT  2*3+2, 2;INVERSE  0 ; 3 

300 

GO  TO  120 

310 

CLEAR  63999 

LOAD  "C520 . COD"CODE 

CLS 

GO  TO  0 

320 

REM  SAVE  AUF  BAND 

330 

SAVE  "C520 . BAS"L INE  310 

340  SAVE  "C520 . C0D"C0DE  64000,200 
350  VERIFY  "C520.BASM 

VERIFY  "C520 . C00"C0QE 


Tabelle  5.  15  Treiber  pro  granm  ftlr  das  Digital  Voltmeter 
(Maschinencode-Tei  1 ) 


10 

.****************** 

% 

20 

:***  GVM  -  1 

JODE  *** 

30 

.****************** 

40 

5 

FAOO 

50 

ORG 

64000  ; 

1  ANFANGSADRESSE 

FACA 

60 

PUFFER 

EQU 

64202  ; 

;MESSWERTPUFFER 

FAOO 

F5 

70 

ANFANG  PUSH 

AF 

FA01 

E5 

80 

PUSH 

HL 

FA02 

21CAFA 

90 

LD 

HL, PUFFER 

HL  IST  PUFFERZEIGER 

FA05 

DBEF 

100 

LSD 

IN 

A ,  ( 239 ) 

MESSWERT  EINLESEN 

FA07 

CB67 

110 

BIT 

4 ,  A 

LSD  ? 

FA09 

20FA 

120 

JR 

NZ , LSD 

NEIN:  WARTEN  AUF  LSO 

FAOB 

OBEF 

130 

IN 

A, (239) 

JA:  NOCHMAL  EINLESEN 

FAOD 

CB-67 

140 

BIT 

4 ,  A 

UND  ÜBERPRÜFEN 

FAOF 

20F4 

150 

JR 

NZ ,  LSD 

WAR  NUR  STÖRNADEL 

FA1 1 

C03BFA 

160 

CALL 

MW 

DIGIT  ABSPEICHERN 

FA14 

DBEF 

170 

NSD 

IN 

A ,  (239) 

MESSWERT  EINLESEN 

FA16 

CB6F 

180 

BIT 

5 ,  A 

NSD  ? 

FA18 

20FA 

190 

JR 

NZ , NSD 

NEIN:  WARTEN  AUF  NSD 

FA1A, 

DBEF 

200 

IN 

A, (239) 

JA:  NOCHMAL  EINLESEN 

FA1C 

CB6F 

210 

BIT 

5 ,  A 

UND  ÜBERPRÜFEN 

FA1E 

20F4 

220 

JR 

NZ , NSD 

WAR  NUR  STÖRNADEL 

FA20 

CD3BFA 

230 

CALL 

MW 

DIGIT  ABSPEICHERN 

FA23 

DBEF 

240 

ENDNSD 

IN 

A , ( 239 ) 

MESSWERT  EINLESEN 

FA25 

CB6F 

250 

BIT 

5,A 

NSD-IMPULS  ZU  ENDE  ? 

FA27 

28FA 

260 

JR 

Z,  ENDNSD 

NEIN:  SOLANGE  WARTEN 

FA29 

DBEF 

270 

MSD 

IN. 

A, (239) 

MESSWERT  EINLESEN 

FA2B 

CB6F 

280 

BIT 

5 ,  A 

MSD  ? 

FA20 

20FA 

290 

JR 

NZ , MSD 

NEIN:  WARTEN  AUF  MSD 

FA2F 

DBEF 

300 

IN 

A, (239) 

NOCHMAL  EINLESEn 

FA31 

CB6F 

310 

BIT 

5 ,  A 

UND  ÜBERPRÜFEN 

FA33 

20F4 

320 

JR 

NZ.MSO 

WAR  NUR  STÖRNADEL 

FA35 

CD3BFA 

330 

CALL 

MW 

DIGIT  ABSPEICHERN 

FA38 

El 

340 

POP 

HL 

FA39 

Fl 

350 

POP 

AF 

FA3A 

C9 

360 

RET 

RÜCKKEHR  ZUM  BASIC 

FA3B 

CD47FA 

370 

MW 

CALL 

ZS 

ZEITSCHLEIFE 

FA3E 

DBEF 

380 

IN 

A, (239) 

MESSWERT  EINLESEN 

FA40 

E60F 

390 

AND 

#0F 

NUR  UNTERE  4  BIT 

FA42 

F630 

400 

OR 

#30 

30H  ADDIEREN 

FA44 

77 

410 

LD 

(HL ) , A 

ABSPEICHERN 

FA45 

2B 

420 

•* 

OEC 

HL 

NÄCHSTER  WERT 

FA46 

C9 

430 

RET 

FA47 

3E0A 

440 

ZS 

LD 

A,  10 

A-REGISTER 

FA49 

30 

450 

ZS1 

DEC 

A 

OECREMENTIEREN 

FA4A 

20FD 

460 

JR 

NZ.ZSl 

BIS  A  =  0 

FA4C 

C9 

470 

RET 

FA40 

480 

END 

62 


ZX  -  DUM  88-10  jr 


Bild  5.  55  Layout  ftlr  das  Digital  Voltmeter 


—  Brücke 


Bild  5.  56  BestücKungsplan 


guten  Verfügbarkeit  wird  er  liier 
dennoch  verwendet. 

Der  C  580  erlaubt  in  der  angege¬ 
benen  Beschaltung  typisch  etwa 
100  Messungen  pro  Sekunde.  Bel 
zyklischer  Abfrage  aller  8  Kanä¬ 
le  wird  daher  Jeder  Kanal  unter 

\ 


Berücksichtigung  der  Progranm- 
laufzeit  nur  etwa  iOmal  in  Jeder 
Sekunde  abgefragt.  Damit  sind, 
schnelle  Spannung sänder ungen  nur 
bedingt  erfaßbar.  Sollen  größere 
als  die  angegebenen  Spannungen 
verarbeitet  werden,  sind  ent- 


63 


Bild  5.  57  Musteraufbau 


t 


sprechende  Spannungstei 1 er  vor¬ 
zusehen.  Ein  Beispiel  dafür  ist 
im  Bild  5.  54  angegeben. 

Kleinere  Spannungen  oder  Wech¬ 
sel  Spannungen  sind  über  Meßver¬ 
stärker  bzw.  Meßgleichrichter 
aufzubereiten.  Die  Abfrage  des 
Digitalvol tmeters  sowie  die  Ka- 
nalumschal tung  erfolgt  softwa¬ 
regesteuert  über  die  in  den  Ta¬ 
bellen  5.  14  und  5.  15  angegebenen 
Treiberprogranme.  Der  Basic-Teil 
wird  mit  LOAD  " "  geladen.  Er 
startet  sich  selbst  und  lädt  den 
CODE-Teil  nach.  Die  dann  abge¬ 
forderten  Bemerkungen  kennzeich¬ 
nen  lediglich  die  acht  Meß-Kanä¬ 


le.  Sie  können  bei  Nichtbedarf 
mit  8  x  ENTER  als  Leerstring 
eingegeben  werden. 

Die  Schaltung  arbeitet  wie 
folgt:  Aus  den  Schal tkreisen  IC2 
(DL  020)  und  IC3  (DS  3205  oder 
74  LS  133)  wird  ein  Adreßdekoder 
gebildet.  Dieser  aktiviert  bei 
der  Adresse  239  (EFH)  den 
DS  3232  (IC1),  der  als  Eingabe¬ 
port  geschaltet  ist,  wodurch  das 
Ausgang  sbitmuster  des  AD-Wand- 
lers  C  520  (IC4)  in  den  Rechner 
eingelesen  wird.  Bei  Ausgabe  der 
Werte  0  bis  7  an  die  Adresse  207 
(CFH)  werden  diese  im  CMOS-Regi- 
ster  IC5  ( V  4042)  zwischenge- 


Tabelle  5.  16  Anschlußbelegung  des  An¬ 
wendersteckverbinders  des  Digitalvoltme¬ 
termoduls 


Kontakt 

A-Ebene 

B-Ebene 

1 

Eingang  5 

Eingang  3 

2 

Eingang  7 

Eingang  2 

3 

Eingang  8 

Eingang  1 

4 

Eingang  6 

Eingang  4 

5 

+5  V 

Masse 

speichert  und  liegen  somit  stän¬ 
dig  am  Meßstel  lenumschalter  IC6 
( V  4051)  an.  Damit  ist  die 
Durchschaitung  von  8  verschiede¬ 
nen  Eingangsspannungen  an  den 
AD -Wan  dl  er  möglich. 

Der  AD-Wandler  C  520  wird  mit  R8 
bei  kurzgeschlossenem  Eingang 
und  gestartetem  Treiberprögramm 
auf  Anzeige  000  mV  und  mit  R9 
bei  angelegten  z.  B.  990,  mV  (mit 
Digital  Voltmeter  Kontrollieren) 
auf  990  mV  Bildschirmanzeige  ab¬ 
geglichen.  Dieser  Abgleich  ist 
wechselseitig  zu  wiederholen. 
Weitere  Abgleicharbeiten  sind 
nicht  erforderlich. 

Für  die  Einsteller  R8  und  R9 
sollten  Spindel Potentiometer  und 
für  den  Kondensator  CI  ein  leck¬ 
stromarmer  Typ  mit  geringem  TK 
(kein  Elektrolytkondensator! ) 
verwendet  werden. 


5.  9.  2.  Schal tKrelstester 

Häufig  stehen  dem  Elektronikama¬ 
teur  gebrauchte  integrierte 
Schaltkreise  zur  Verfügung,  über 
deren  Funktionsf ähigkeit  Unklar¬ 
heit  besteht.  In  solchen  Fällen 
wäre  es  wünschenswert,  die 
Schaltkreise  vor  dem  Einbau  in 
die  Schaltung  zu  überprüfen,  da 
einerseits  die  nachträgliche 
Fehlersuche  oft  zeitraubend  ist 
und  andererseits  das  Aus löten 
defekter  Schaltkreise  die  Plati¬ 
ne  beschädigen  kann.  Die  Schal¬ 
tung  nach  Bild  5.  58  bietet  eine 
Möglichkeit  für  die  statische 
Überprüfung  digitaler  integrier¬ 
ter  Schaltkreise.  Kernstück  der 
Schaltung  ist  eine  PIO  U  Ö55t 
die  über  einen  Adreßdekoder 
U  74  HCT  136  DK  (anschlußkompa¬ 
tibel  zu  DS  6205)  in  Verbindung 
mit  einem  DL  020  D  gemäß  Tabel- 


8x10k 


Bild  5.  56  Schaltung  des  Schal tkrelstesters 

/ 


65 


Tabelle  5.  17  Adreß Zuordnung  des  Schal t- 
Kreistesters 


Port  und 

Funktion 

Adresse 

dez.  hex. 

PIO 

Port 

A  Daten 

79 

4F 

PIO 

Port 

B  Daten 

95 

5F 

PIO 

Port 

A  Steuerung 

111 

6F 

PIO 

Port 

B  Steuerung 

127 

7F 

Bild  5.  59  Softwaregesteuerte  Massezuschal  tung  (Prinzip) 


le  5.  17  in  den  Adreßraum  des 
ZX  Spectrum  eingeordnet  ist. 

An  die  Portleitungen  der  PIO  ist 
eine  löpolige  Testfassung  über 
150-Q-Widerstände  angeschlossen. 
Diese  Widerstände  begrenzen  den 
Strom  in  den  Fällen,  in  denen 
eine  als  Ausgang  definierte  PIO- 
Portleitung  mit  einem  Schalt- 
kreisausgang  verbunden  ist  und 
beide  unterschiedliche  Pegel 
führen.  Sämtliche  Anschlüsse  der 
Testfassung  liegen  über  Pull-up- 
Wi  der  stände  von  10  kß  auf  +5  V. 
Damit  werden  die  für  CMOS- 
Schaltkreise  erforderlichen  H- 
Pegel  garantiert.  Allerdings  ist 
eine  Erkennung  von  Open-Col lec- 


tor-,  Open-Drain-  und  Tri -Sta¬ 
te  -Ausgangs  stufen  damit  nicht 
möglich. 

Die  Prüflinge  werden  immer 
linksbündig  in  die  Testfassung 
gesteckt.  Mit  den  DIL-Schaltern 
wird  PIN  7  (bei  14poligen)  oder 
PIN  8  (bei  löpoligen  Schaltkrei¬ 
sen)  mit  Masse  verbunden.  Auf¬ 
grund  der  Struktur  der  DATA-Zei- 
len  im  Test  Programm  müssen  beim 
Testen  von  14poligen  IS  beide 
DIL-Schalter  geschlossen  werden! 
Unter  Nutzung  der  Schaltung  nach 
Bild  5.  59  könnte  das  Massepoten¬ 
tial  auch  softwaregesteuert  zu¬ 
geschaltet  werden.  Hierbei  ar¬ 
beitet  ein  Flipflop  DL  074  als 


66 


Bild  5 .  61  Layout  (Bestückungsseite)  für  den  Schaltkreistester 


2-bit-Ausgabeport.  Mit  einer 
solchen  Testanordnung  und  einem 
entsprechend  modifizierten  Trei- 
berprograimi  Könnten  dann  belie¬ 
bige  14-  bis  löpolige  Schalt¬ 
kreise  selbständig  erkannt  und 
getestet  werden.  In  Verbindung 


mit  dem  Prüfprogramm  gemäß  Ta¬ 
belle  5.  18  können  folgende 
Schaltkreise  sowie  deren  .Äquiva¬ 
lenztypen  getestet  werden: 

TTL- Typen:  7400 ,  7402 1  7403 , 
7404 1  7405 ,  7406 ,  7406 ,  7410 , 
7412 ,  7413 ,  7414 ,  7416,  74£0, 


67 


7421 , 

7426,  7430, 

,  7455, 

7457, 

7438 , 

7440,  7446 , 

,  7447, 

7450, 

7451 , 

7455,  7454, 

,  7474, 

7486, 

74128 , 

74i  5£\ 

74136, 

74151, 

741 53, 

74157, 

74192, 

74193; 

DS- Typen:  8205 ; 
CMOS -Typen:  4<%>i, 

,  40ii, 

4012, 

4028, 

Te 1 1 g e  s  chädi g t e  Scha 1 tkr e i  s  e 
werden  als  defekt  klassif iziert. 
Zwar  wäre  mit  geringem  Aufwand 
eine  (z.  B.  grafische)  Ausgabe 
der  defekten  Gatter  möglich, 
doch  neigen  teil geschädigte  IS 
eher  zu  Total ausfäl len,  so  daß 
von  ihrer  Verwendung  abgeraten 
wird.  Die  Schaltkreisbibliothek 


68 


Tabelle  5.  lö  Treiberprogramm  für  den  Schal tkreistester 

10  REM  IC-TESTER 

20  LET  aco=lll ,bco=127 ,adat=79,bdat=95 
30  CSIZE  4,8 
40  LET  af =0 

LET  bf =0  ' 

RESTORE 

CLS 

GO  SUB  1100 
50  OUT  aco , 207 
OUT  aco, 255 
OUT  bco , 207 
OUT  bco, 255 

60  PRINT  AT  17 , 21 ; "Typ  bekannt  ?  (j/n)" 

70  LET  t$=INKEY$ 

IF  t$=" "THEN 
GO  TO  70 

80  IF  t$=" j"0R  t$=" J"THEN 
GO  TO  500 

90  IF  t$="n"0R  t$="N"THEN 
GO  TO  110 
100  GO  TO  70 
110  LET  ai  =  IN  adat 
LET  bi=IN  bdat 
120  FÜR  1=1T0  5 
130  REAO  av 
READ  by_. 

140  IF  (av  ai)0R  (bv  bi )THEN  GO  TO  160 
150  GO  TO  180 
160  NEXT  1 
170  IF  1=6THEN 
GO  TO  490 

180  GO  SUB  ON  1;190,2Q0,210,220,230 
GO  TO  310 
190  RESTORE  250 
RETURN 

200  RESTORE  260 
RETURN 

210  RESTORE  270 
RETURN 

220  RESTORE  280 
RETURN 

230  RESTORE  300 
RETURN 

240  DATA  27,219,31,187,31,251,63,251,21,171 

250  DATA  "7400", 228, 39, 3, 27, 219, 54, 111, 45, 183 

260  DATA  "7410", 224, 71, 4, 31, 187, 47, 95, 54, 239, 57, 247 

270  DATA  "7420", 224, 7, 5, 31, 251, 58, 95, 57, 159, 51, 207, 43, 215 

280  DATA  "7430", 192, 7, 10, 63, 251, 63, 39, 63, 71, 31, 103 

290  DATA  47,103,55,103,59,103,61,103,62,103,63,99 

300  DATA  "7404", 234, 87, 2, 42, 87, 21, 171 

310  READ  t$ 


320  PRINT  AT  15 , 15 ; "Schaltkreis  aequivalent  ”;t$ 

330  READ  ap 
READ  bp 

340  OUT  aco , 207 

OUT  aco, AND(ap,255) 

OUT  bco,207 

OUT  bco, AND(bp,255) 

350  READ  za 

FOR  z=lT0  za 
360  READ  ao 
READ  bo 

370  OUT  adat,AN0(ao,255) 

OUT  bdat , AND(bo ,255) 

380  LET  ai=IN  adat,bi=IN  bdat 

390  LET  af=0R(af,(X0R(ai,ao))) 

400  LET  bf=0R(bf, (X0R(bi ,bo) ) ) 

410  NEXT  z  '  . 

420  IF  af  =  OANO  bf  =  0THEN 

PRINT  AT  17 , 17 ; "IC  ist  f unktionstuechtig" 

GO  TO  440 

430  PRINT  AT  17,21;"  IC  ist  defekt  ! 

440  PRINT  AT  20,20;"Neuer  Test?  (j/n)" 

450  LET  a$=INKEY$ 

460  IF  a$=" J"OR  a$="J"THEN 
GO  TO  40 

470  IF  a$="n"0R  a$="N"THEN 
STOP 

480  GO  TO  450 
490  CLS 

PRINT  AT  15 , 15 ; "Schaltkreis  nicht  identifizierbar  !" 
GO  TO  1090 

500  PRINT  AT  17,21;"Typ  eingeben: 

INPUT  t$ 

510  LET  ty=VAL  t$ 

520  IF  ty=7450THEN 
RESTORE  530 
GO  TO  310 

530  DATA  "7450", 224, 7, 3, 52, 215, 43, 79, 32, 99 
540  IF  ty=7451THEN 
RESTORE  550 
GO  TO  310 

550  DATA  "7451", 224, 7, 3, 31, 251, 52, 151, 43, 15 
560  IF  ty =7453THEN 
RESTORE  570 
GO  TO  310 

570  DATA  "7453", 192, 7, 3, 63, 187, 52, 215, 11, 79 
580  IF  ty=7454THEN 
RESTORE  590 
GO  TO  310 

590  DATA  "7454", 192, 7, 3, 31, 155, 20, 151, 11, 15 
600  IF  ty=74000R  ty=74370R  ty=741320R  ty=7403THEN 
LET  1=1 
GO  TO  180 


70 


610  IF  ty=74370R  ty=7430OR  ty=7426THEN 
LET  1=1 
GO  TO  180 

620  IF  ty=74100R  ty=7412THEN 
LET  1=2 

GO  TO  180  • 

630  IF  ty=74200R  ty=74130R  ty=7440THEN 
LET  1=3 
GO  TO  180 

640  IF  ty=7430THEN  LET  1=4 
GO  TO  180 

650  IF  ty=74040R  ty=74050R  ty=7406THEN 
LET  1=1 
GO  TO  180 

660  IF  ty=74140R  ty=7416THEN 
LET  1=5 
GO  TO  180 

670  IF  ty=7408THEN 
RESTORE  680 
GO  TO  310 

680  DATA  "7408", 228, 39, 3, 63, 255, 18, 75, 9, 147 
690  IF  ty=74460R  ty=7447THEN 
RESTORE  700 
GO  TO  310 

700  DATA  "7447", 136, 255, 13, 24, 1,4, 255, 28, 65, 92, 231, 13, 137 
710  DATA  93,131,30,39,94,19,31,17,95,199,60,1,124,3,61,185 
720  IF  ty=7474THEN 
RESTORE  730 
•  GO  TO  310 

730  DATA  "7474”, 240, 15, 7, 17, 139, 40, 23, 43, 215, 31, 251, 27, 219 
740  DATA  25,155,45,183 
750  IF  ty=74192THEN 
RESTORE  760 
GO  TO  310 

760  DATA  "74192", 230, 49, 7, 119, 183, 16, 89, 24, 57 
770  DATA  16,25,92,57,76,41,16,25 
780  IF  ty=74193THEN 
RESTORE  790 
GO  TO  310 

790  DATA  "74193", 230, 49, 7, 119, 183, 16, 89, 24, 57, 16, 25, 126 
800  DATA  57,110,41,16,25 
010  IF  ty=8205THEN 
RESTORE  820 
GO  TO  310 

820  DATA  "8205", 192, 255, 11, 96, 127, 97, 191, 98, 223, 99, 239, 100 
830  DATA  247,101,251,102,253,39,255,111,255,119,255,71,255 
840  IF  ty=74153THEN 
RESTORE  850 
GO  TO  310 

050  DATA  "74153", 192, 3, 9, 1,129, 0,1, 96, 7, 0,65, 80, 79, 2, 1,74 
860  DATA  19,1,65,70,99 


71 


870  IF  ty=74020R  ty=74330R  ty=74128THEN 
RESTORE  880 
GO  TO  310 

880  DATA  "7402", 201, 147,4,9,147, 36, 39, 18, 73, 34, 79 
890  IF  ty=74860R  ty=74136THEN 
RESTORE  900 
GO  TO  310 

900  OATA  "7486", 228, 39, 4, 0,3, 34, 183, 45, 111, 27, 219 
910  IF  ty=7421THEN 
RESTORE  920 
GO  TO  310 

920  DATA  "7421", 224, 7, 5, 15, 223, 23, 123, 29, 187, 30, 235, 59, 243 
930  IF  ty=74151THEN 
RESTORE  940 
GO  TO  310 

940  DATA  "74151", 176, 1,9, 24, 1,20, 9, 18, 5, 17, 13, 16, 131, 16, 75 
950  DATA  16,39,16,31,104,1 
960  IF  ty=74157THEN 
RESTORE  970 
GO  TO  310 

970  DATA  "74157", 200, 19, 9, 0,1, 36, 37, 90, 91, 126, 127, 1,1, 109 
980  OATA  55,19,73,127,127,55,237 
990  IF  ty=4028THEN 
RESTORE  1000 
GO  TO  310 

1000  DATA  "4028", 255, 195, 11, 4, 1,0, 69, 2, 33, 0,165, 1,17, 32, 21 
1010  DATA  64,49,8,53,0,11,16,13,0,61 
1020  IF  ty=4001THEN 
RESTORE  1030 
GO  TO  310 

1030  DATA  "4001", 204, 51, 4, 12, 51, 17, 71, 34, 139, 50, 207 
1040  IF  ty=4011THEN 
RESTORE  1050 
GO  TO  310 

1050  OATA  ”4011”, 204, 51, 4, 12, 51, 29, 111, 46, 187, 51, 207 
1060  IF  ty=4012THEN 
RESTORE  1070 
GO  TO  310 

1070  OATA  "4012", 193, 131, 6, 1,131, 3, 155, 5, 147, 9, 163, 17, 195, 3 
1080  CLS 

PRINT  AT  15,8;"Dieser  Typ  ist  nicht  "; 

PRINT  "im  Testprogramm  enthalten  !" 

1090  FOR  i=OTO  500 
NEXT  i 
GO  TO  40 
1100  CLS 

PRINT  AT  0 , 0 ;CSIZE  12,12;0VER  1;"  IC-TESTER" 
1110' PRINT 
PRINT 

1120  PRINT  "Das  Programm  ermoeglicht  die  schnelle  "; 

PRINT  "Ueberpruefung  der  IC-Typen" 

PRINT 


72 


1130 

PRINT 

"7400 

7402 

7403 

7404 

7405 

7406 

II 

PRINT 

"7408 

7410 

7412" 

1140 

PRINT 

"7413 

7414 

7416 

7420 

7421 

7426 

II 

PRINT 

"7430 

7433 

7437" 

1150 

PRINT 

"7438 

7440 

7446 

7447 

7450 

7451 

II 

PRINT 

"7453 

7454 

7474" 

1160 

PRINT 

"7486 

74128 

74132 

74136 

74151 

74153 

II 

PRINT 

"74157 

74192 

74193" 

1170 

PRINT 

PRINT 

"DS-Typen  : 

8205" 

1180 

PRINT 

PRINT 

"CMOS- 

Typen  : 

4001 

4011 

4012 

4028 

ii 

1190  PRINT 

PRINT  "Die  Typen  7400,7404,7410,7420,7430  bzw. 

PRINT  "die  Aequivalente  werden" 

1200  PRINT  "erkannt.  Fuer  andere  IC's  ist  der 
PRINT  "Schaltkreistyp  einzugeben" 

1210  PRINT 

PRINT  "Es  koennen  alle  TTL-  und  CMOS-Reihen 
PRINT  "getestet  werden." 

1220  PRINT  "Durch  Einfuegen  weiterer  DATA-Anweisungen  " ; 
PRINT  "koennen  neue" 

1230  PRINT  "IC-Typen  in  das  Programm  aufgenommen  werden. 
1240  PRINT 

1250  PRINT  "Testbeginn  ";CSIZE  12,12;"T" 

1260  LET  a$= INKEY$ 

IF  a$="t"0R  a$="T"THEN 
GO  TO  1280 
1270  GO  TO  1260 
1280  CLS 

RETURN 


Tabelle  5.  19  Aufbau  einer  DATA-Zeile 
für  den  IC-Tester 


Funktion 

\ 

Beispiel 

DATA 

Schlüsselwort 

DATA 

ty 

Typ-String 

”7400" 

ap 

E/A-Maske  PlO-Port 

A 

228 

bp 

E/A-Maske  PlO-Port 

B 

39 

za 

Anzahl  der  Testschritte 

3 

ao 

Testbitmuster  Port 

A 

27 

bo 

Testbitmuster  Port 

B 

219 

ao 

Testbitmuster  Port 

A 

54 

bo 

Testbitmuster.  Port 

B 

111 

, 

, 

za 

45 

* 

* 

ma 

183 

ao  v 

Testbitmuster  Port 

A 

bo 

Testbitmuster  Port 

B 

l 


Tabelle  5.20  Aufbau  der  Bltmuster  für 
14polige  Schaltkreise 


E/A-Maske  Port  A:  1  1  X  X‘  X  X  X  X 

E/A-Maske  Port  B:  X  X  X  X  X  X  1  i 


Testbitmuster  Port  A:  OOXXXXXX 

Testbitmuster  Port  B:  X  X  X  X  X  X  1  1 


X  =  0  für  IS-Eingang,  X  =  1  für  Ausgang 

Tabelle  5.21  Aufbau  der  Bltmuster  für 
16polige  Schaltkreise 


E/A-Maske  Port  A:  1XXXXXXX 

E/A-Maske  Port  B:  XXXXXXX1 


Testbitmuster  Port  A:  OXXXXXXX 

Testbitmuster  Port  B:  X  X  X  X  X  X  X  1 


X  =  0  für  IS-Eingang,  X  =  1  für  Ausgang 

Tabelle  5.  22  Aufbau  der  Bitmuster  für 
löpolige  Schaltkreise 


E/A-Maske  Port  A:  XXXXXXXX 

E/A-Maske  Port  B:  XXXXXXXX 


Testbitmuster  Port  A:  XXXXXXXX 

Testbitmuster  Port  B:  XXXXXXXX 


X  =  0  für  IS-Eingang,  X  =  1  für  Ausgang 


des  Testprogramms  läßt  sich 
durch  Einfügen  weiterer  DATA- 
Zeilen  erweitern,  deren  Struktur 
den  Tabellen  5.  19  bis  5,22  zu 
entnehmen  ist. 

Die  eigentliche  Testroutine 
(Programmzeilen  370  bis  430) 
basiert  auf  der  Tatsache,  daß 
sich  bei  Abarbeitung  eines  IN- 
Befehls  mit  einem  in  Mode  3 
(Bitbetrieb)  arbeitenden  PIO- 
Kanal  die  der  CPU  zugeführten 
Daten  zusammensetzen  aus  den 
Daten  des  Eingaberegisters  (das 
gilt  für  die  Bits,  die  im  E/A- 
Steuerwort  als  Eingänge  defi¬ 


niert  sind)  und  den  Daten  des 
Ausgaberegisters  (für  die  Bits, 
die  im  E/A--Steuerwort  als  Aus¬ 
gänge  festgelegt  sind). 

Das  Programm  ist  auf  dem  ZX 
Spectrum  nur  unter  Beta  Basic 
3.0  lauffähig,  weil  dort  die 
erforderlichen  logischen  Ver¬ 
knüpfungen  implementiert  sind. 
Diese  Verknüpfungen  kann  man  für 
andere  Rechnertypen  auch  als  Un¬ 
terprogramme  in  Basic  oder  Ma¬ 
schinensprache  schreiben. 


74 


5.  10. 


Zusanmenschal  tung  mehre¬ 
rer  Zusatzmodule 

5.  10.  1.  Bus  Verlängerung 

Der  gleichzeitige  Betrieb  mehre¬ 
rer  Zusatzmodul e  an  einem  Klein¬ 
computer  gestaltet  sich  durch 
das  Vorhandensein  von  meist  nur 
einem  StecKplatz  problematisch. 


Einen  Ausweg  bietet  die  Bus  Ver¬ 
längerung  nach  Bild  5.64,  mit 
der  5  StecKplätze  für  Hardware- 
Erweiterungen  zur  Verfügung 
stehen.  Es  werden  dafür  Buchsen- 
und  StecKerl eisten  mit  2  x  29 
Polen  nach  TGL  29  331  verwendet. 
Mit  einer  solchen  Buchsenleiste 
sollte  auch  der  ZX  Spectrum  aus¬ 
gerüstet  werden,  um  Kontakt-  und 


I 

& 

'"-1 

o! 

s 

0) 

'S 

i 

-w 

3 

S, 


<o 

io 

■Ö 

S3 


75 


Beschaffungsprobleme  hei  der 
Verwendung  der  Original -Steck¬ 
verbinder  zu  umgehen, 

Die  Platine  stellt  durch  die  eng 
benachbarten,  relativ  langen 
Leitungen  eine  erhebliche  kapa¬ 
zitive  Belastung  des  Rechnerbus¬ 
ses  dar,  so  daß  man  kaum  ohne 
Bustreiber  auskommen  wird.  Sämt¬ 
liche  mit  der  Spannungsversor¬ 
gung  des  Computers  in  Verbindung 
stehenden  Leitungen  wurden  un¬ 
terbrochen,  um  die  Betriebsspan¬ 
nungen  auch  extern  einspeisen  zu 
können.  Bei  Verwendung  der  in¬ 
tern  erzeugten  Spannungen  sind 
diese  Unterbrechungen  zu  über- 
brtlcken.  Dann  sind  aber  die  im 
Abschnitt  5.  1.  genannten  Strom¬ 
ergiebigkeiten  zu  beachten  und 
Massekurzschlüsse,  insbesondere 
mit  -5  V  und  +12  V,  unbedingt 
zu  vermeiden.  Anderenfalls  be¬ 
steht  Gefahr  für  die  dynami¬ 
schen  RAMs  und  den  Transverter. 


5.  10.  2.  Adapter 

Der  Adapter  (Bild  5.65)  gestat¬ 
tet  das  Betreiben  von  Original - 
Spectrum- Zubehör  an  einem  EGS- 
Steckverbinder  mit  2  x  29  Polen 


in  den  Fällen,  in  denen  eine 
Umrüstung  des  Interfaces  nicht 
möglich  ist.  Hier  sei  nur  die 
Ausleihe  selten  gebrauchter 
Zusatzgeräte  (z.  B.  EPROM-Pro- 
graixmi  er  gerät)  genannt.  Bild 
5. 65  zeigt  nur  eine  Seite  des 
Adapters.  Die  Platine  ist  auf 
der  Leiter-  und  Bestückungsseite 
Jeweils  gleich  strukturiert.  In 
den  Adapter  muß  zunächst  die 
Aussparung  für  den  Verpolungs¬ 
schutz  gesägt  werden.  Die  Löt- 
augen  für  den  Anschluß  der  29. 
Anschlüsse  sind  nicht  zu  bohren 
oder  gar  zu  verbinden.  Sie  blei¬ 
ben  für  später  geplante  Erweite¬ 
rungen  oder  den  Aufbau  einer 
Interrupt-Prioritätskette  reser¬ 
viert.  Sehr  zu  empfehlen  ist 
zwecks  besserer  Kontaktgabe  das 
Verzinnen  der  Anschlüsse.  Auf 
die  metrische  Seite  des  Adapters 
wird  nun  das  Gegenstück  des 
Spectrum- Verbinders  gelötet. 
Sinnvoll  ist  der  Einbau  der 
Buchse  in  den  Spectrum  und  des 
Steckers  in  die  Zusatzmodul e,  da 
dann  die  Ausgangsleitungen  des 
Rechners  nicht  unisoliert  zu¬ 
gänglich  sind. 


•  t  • 


Bild  5.66  Adapter  ( Musteraufbau ) 


76 


5.  10.  3.  Bustreiber 

Die  Daten-  und  Adreßausgänge 
sowie  die  low-aktiven  Steueraus¬ 
gänge  der  CPU  U  660  sind  in  der 
Lage,  je  eine  TTL-Lasteinheit  zu 
treiben.  Im  Hinblick  auf  eine 
Vergrößerung  der  Busbelastbar¬ 
keit  sowie  auf  die  Unterdrückung 
von  Störimpulsen  und  parasitären 
Kapazitäten  können  die  CPU-Si- 
gnale  verstärkt  werden.  Das  ist 
besonders  dann  erforderlich, 


wenn  das  System  eine  gewisse 
Größenordnung  erreicht  hat.  »  Ab 
wann  genau  eine  Buspufferung 
benötigt  wird,  hängt  von  vielen 
Faktoren  ab  und  ist  nicht  zu¬ 
letzt  exemplarabhängig  von  Rech¬ 
ner  zu  Rechner  verschieden. 
Natürlich  birgt  der  Einsatz 
eines  Bustreibers-  auch  Probleme. 
So  muß  man  unter  anderem  die  oft 
hohe  Stromaufnahme  beachten,  die 
besonders  beim  Einsatz  von 


680 


Bild  6.  67  Schaltung  des  Bustrelhers 


77 


zum  Erweiterungs  — 
anschluß  des  DL  010 


Bild  5.  68  Erweiterungsschaltung 
zur  Absicherung  des  Vektor -Interrupts 


Schottky-Treibern  (DS-Se rie) 
schnell  einige  100  mA  erreichen 
Kann,  wofür  meist  schon  ein 
externes  Netzteil*  erforderlich 
wird.  Bustreiber  sihd  also  nicht 
schlechthin  das  Mittel  der  Wahl, 
zumindest  bezogen  auf  die  Klein- 
und  Heimcomputer.  Für  weniger 
hartnäckige  Fälle  gibt  es  auch 
einfachere  Varianten  zur  Vergrö¬ 
ßerung  der  Busbelastbarkeit, 
z.  B.  den  Einbau  von  Pull-up-Wi- 
derständen  in  die  Datenleitungen 
(8  x  4,  7  bis  10  kß)  oder  der 
Einsatz  einer  CMOS-CPU. 

Der  Datenverkehr  eines  Mikro¬ 
rechners  vollzieht  sich  grund¬ 
sätzlich  bidirektional,  denn  die 
CPU  kann  Daten  senden  und  emp¬ 
fangen.  Die  Adressen  und  einige 
Steuersignale  werden  von  der  CPU 
nur  gesendet,  die  restlichen 


Steuersignale  nur  empfangen.  Für 
die  Datenleitungen  ist  deshalb 
ein  in  der  Datenrichtung  um¬ 
schal  tbarer  Bustreiber  erforder¬ 
lich.  Zur  Datenrichtungsumschal- 
tung  dient  eine  Logikschaltung, 
die  in  3  Fällen  ein  Buslesen 
realisieren  muß: 

1.  Speicher  lesen 

(RD  =  L  und  MREQ  =  L) 

2.  Port  lesen 

(RD  -  L  und  IÖRQ  =  L) 

3.  Interrupt vektor  lesen 

(Ml  =  L  und  IORQ  n  L) 

Hier  treten  bei  Kleincomputern 
in  der  Regel  weitere  Probleme 
auf.  Die  Speichererweiterung  und 
einige  I/O-Schnittstellen  befin¬ 
den  sich  bereits  auf  der  Compu¬ 
ter-Grundplatine,  aus  der  Sicht 


Bild  5.69  Bus tre Iber-Layout  ( Leiterseite ) 


78 


der  CPU  also  vor  dem  Bustreiber. 
Deshalb  kommt  es  in  den  Be¬ 
triebsarten  Speicher  lesen  und 
Port  lesen  zu  Buskonflikten, 
wenn  die  internen  Systemeinhei¬ 
ten  angesprochen  werden  und 
gleichzeitig  der  Bustreiber  in 
Richtung  CPU  umgeschaltet  wird. 
Es  gibt  mehrere  Möglichkeiten, 
das  zu  umgehen: 

1.  Der  Bustreiber  wird  von  einem 
auf  jedem  Interface  zu  erzeu¬ 
genden  Richtungssignal  ge¬ 
steuert.  Das  vereinfacht  die 
Hardware  des  Bustreibers  zwar 
sehr,  erfordert  aber  Eingrif- 

*  fe  in  Jedes  anzuschließende 
Interface,  was  besonders  bei 
Industriegeräten  mit  unbe¬ 
kannter  Schaltung  problema¬ 
tisch  ist. 

2.  Der  Bustreiber  wird  ständig 
in  Ausgaberichtung  betrieben 
und  nur  bei  Speicher-  oder 
Portleseoperationen,  die  sich 
auf  externe  Systemeinheiten 
beziehen,  in  Eingaberichtung 
geschaltet. 

3.  Die  Ausgänge  des  Bustreibers 


werden  beim  Lesen  der  inter¬ 
nen  Speicher  bzw.  I/O-Ports 
in  den  hochohmigen  Zustand 
gebracht.  Dazu  dient  der  low- 
aktive  Steuereingang  ÖE. 

Die  Variante  3  erwies  sich  be¬ 
sonders  bei  hohen  Taktfrequenzen 
als  etwas  zeitkritisch.  Darüber 
hinaus  ist  damit  ein  Betreiben 
des  Rechners  in  der  Interruptbe¬ 
triebsart  2  nicht  möglich.  Dazu 
müßten  die  Ausgänge  des  Bustrei¬ 
bers  ständig  freigegeben  sein 
(mit  OE  =  L),  um  die  Erkennung 
des  Maschinenbefehls  RETI  durch 
die  Peripheriebausteine  zu  ge¬ 
währleisten.  Deshalb  wurde  der 
Variante  2  der  Vorzug  gegeben. 
Unter  Verwendung  eines  DS  6266 
und  von  3  Schaltkreisen  DS  6262 
wurde  für  den  ZX  Spectrum  ein 
Bustreiber  aufgebaut,  dessen 
Schaltung  das  Bild  5.67  zeigt. 
Die  Datenrichtung  wird  mit  einer 
aus  einem  DL  004  und  einem 
DL  010  bestehenden  Schaltung 
umgeschal  tet.  Für  die  Taktpuffe¬ 
rung  wurde  ein  freies  Gatter  des 
DL  004  verwendet,  da  der  ZX 


ZX  Bus 
T  r  e  i  b  e  r 


Bild  5.  70  Bus tre Iber-Layout  (Bestückungsseite) 


79 


Steckverbinder  2x29  pol. 


Bild  5.  71  Bestückungsplan 


ZX  Bus 
Tr  ei 


Spectrum  an  seinem  Bussteckver¬ 
binder  ein  invertiertes  Taktsi- 
gnal  bereitstellt.  Der  680-Q- 
Widerstand  sichert  den  erforder¬ 
lichen  Pegel  für  die  Peripherie¬ 
schal  tKreise,  deren  Takteingänge 
abweichend  von  der  TTL-Norm 
einen  H-Pegel  von  +5  ^  benöti¬ 
gen.  An  den  noch  freien  Eingang 


des  DL-Ol  0-Gatters  können  bei 
Bedarf  weitere  Signa lquel len  zur 
Richtung  sums  chal  tung  des  Bus- 
treibers  angeschlossen  werden. 

Im  Bild  5.  68  ist  ein  Beispiel 
zur  Absicherung  des  Vektor- In¬ 
terrupts  (Interrupt -Mode  2)  an¬ 
gegeben. 


Bild  5.  72  Musteraufbau 


80 


5.  11.  Speichererweiterungen 

Die  in  den  folgenden  Abschnitten 
gezeigten  Spe i eher erwe i t  erung  en 
bedingen  im  Gegensatz  zu  allen 
anderen  bisher  vorgestel 1 ten 
Baugruppen  Eingriffe  in  die  be¬ 
stehende  Rechnerhardware.  Zudem 
beziehen  sie  sich  sehr  stark  auf 
die  Originalversion  des  ZX  Spec¬ 
trum  und  sind  daher  nicht  ohne 
größere  Änderungen  auf  andere 
Rechnertypen  übertragbar,  wes¬ 
halb  sie  bewußt  am  Schluß  behan¬ 
delt  werden. 


5.  11.  1.  RAH-Erweiterung  von  16  k 
auf  46  k 

In  der  Grundversion  des  ZX  Spec¬ 
trum  sind  neben  einem  16K-ROM, 
der  Betriebssystem  und  BASIC- 
Interpreter  enthält,  16  kByte 
RAM-Kapazität  vorhanden.  Hierin 
drängeln  sich  die  Systemvariab¬ 
len,  der  DrucKerpuffer,  der 
Stack  und  die  Displaydatei,  so 
daß  für  Anwenderprogramme  nicht 
mehr  viel  .Platz  bleibt.  Auch 
wenn  diese  16  k  manchem  Umstei¬ 
ger  vom  ZX  81  gigantisch  anmuten 
(dort  war  für  all  das  lediglich 
1  kByte  vorhanden),  aus  heutiger 
Sicht  sind  16  k  RAH  eher  als 
bescheiden  anzusehen.  Es  liegt 
also  nahe,  den  RAM-Bereich  zu 
vergrößern,  zumal  der  ZX  Spec¬ 
trum  dafür  schon  vorbereitet 
ist.  Auf  der  Rechner-Platine 
sind  i>2  Steckfassungen  angeord¬ 
net,  die  nur  mit  den  richtigen 
Schaltkreisen  bestückt  werden 
müssen.  Es  werden  benötigt: 

8  64k  x  1  dynamische  RAM  4164 
(U  2164)  als  IC  15.  .  .  22 
1  Schaltkreis  74  LS  32  ( DL  032) 

als  IC  23 


1  Schaltkreis  74  LS  00  (DL  OOO) 
als  IC  24 

2  Schaltkreise  74  LS  157 
(DL  257)  als  IC  25,  26 

In  Klammern  stehen  die  entspre¬ 
chend  verwendbaren  DDR -Typen. 
Der  Ersatz  des  74  LS  157  durch 
den  DL  257  wurde  an  einigen 
Exemplaren  des  Spectrum  prak¬ 
tisch  überprüft.  Trotzdem  kann 
es  in  Einzel  fällen  zu  Unverträg¬ 
lichkeiten  kommen.  Schaltkreise 
der  Standard-TTL-Serie  (wie 
D  100)  sollten  wegen  der  hohen 
Stromaufnahme  nicht  verwendet 
werden.  Verwendbar  sind  neben 
LS-Typen  auch  Schaltkreise  der 
ALS-,  HC-  und  i/CT-Serie.  Die  IC- 
Bezeichnungen  findet  man  im  Be¬ 
st  ückungs  druck  der  Platine. 


5.  11.  2.  RAM-Erweiterung  von  48  k 
auf  80  k 

Im  vorigen  Abschnitt  wurde  ge¬ 
zeigt,  wie  mit  geringem  Aufwand 
der  RAM-Rereich  des  ZX  Spectrum 
um  32  kByte  vergrößert  werden 
kann.  Dafür  wurden  als  RAM- 
Schaltkreise  64k-Typen  empfoh¬ 
len,  die  dabei  aber  nur  zur 
Hälfte  ausgenutzt  werden.  Eine 
kleine  Zusatzschaltung  gestattet 
es  Jedoch,  auch  die  anderen 
32  kByte  zu  nutzen.  Der  Spectrum 
ist  aber  nunmehr  mit  einem  16k- 
ROM,  16k  RAM  und  der  32k-RAM- 
Erweit  erung  aus  dem  Abschnitt 
5.  11.  1.  bestückt.  Das  bedeutet 
volle  Belegung  für  den  Spei- 
cher-Adreßraum  des  U  880 ,  weil 
dieser  Prozessor  mit  seinen  16 
Adreßleitungen  nur  216  =  65536 
(=  64  k)  Speicherplätze  adres¬ 
sieren  kann.  Ein  weiterer  Ausbau 
des  Speichers  kann  daher  nur 
über  eine  Umschaltung  von  Spei¬ 
cherbereichen  erfolgen.  Die 


81 


TaDelle  5.23  Speicheraufteilung  im  ZX  Spectrum 


Typ  16-k-Version  48-k-Version  80-k-Version 


ROM  0000.  .  .  3FFF  H  0000.  .  ,  3FFF  H  0000.  .  .  3FFF  H 

RAM  4000.  .  .  7FFF  H  4000.  .  .  7FFF  H  4000.  .  .  7FFF  H 

RAM  - -  8000.  ..FFFFH  8000.  .  .  FFFF  H  (BANK  1) 

RAM  -  -  8000.  ..FFFFH  (BANK  2) 


Bild  5.  73  Elektronische  Spelcherbank-Umschaltung 


Bild  5.  74  Layout  für  die  Spelcherbahk-Umschal  tung 


82 


Bild  5.  76  Musteraufbau 


Tabelle  5.23  verdeutlicht  die 
Speicheraufteilung  der  verschie¬ 
denen  Versionen. 

Die  Umschaltung  der  Speicherbän¬ 
ke  wird  über  die  Schaltung  nach 
Bild  5.  73  elektronisch  reali¬ 
siert.  Aus  den  Schal  tkreisen 
DL  002  und  DS  6205  (bzw. 
74  LS  136  oder  74  HCT  136)  wird 
ein  Adreßdekoder  gebildet.  Die¬ 
ser  aktiviert  bei  einem  OUT- 
Befehl  an  die  Adresse  0001  ein 
Flipflop  (DL  074) ,  das  den  aktu¬ 
ellen  Zustand  der  Datenleitung 
DO  übernimmt.  Der  Ausgang  dieses 
Flipflops  gelangt  über  eine 
Leuchtdiode  zur  Anzeige  und  wird 
über  eine  bisher  unbeschaltete 
Leitung  am  Bus  st  eck  verbinder  in 
den  Spectrum  geführt.  Verwendet 
wurde  die  Leitung  B4.  Diese 
Leitung  ist  auf  der  Platine  des 
ZX  Spectrum  mit  dem  mittleren 
Lötauge  rechts  neben  dem  ULA-IC 
(siehe  Bild  5.  77)  zu  verbinden. 
Diese  Angaben  beziehen  sich  auf 
die  relativ  wei't  verbreitete 
Version  2  des  ZX  Spectrum.  Bei 
anderen  Versionen  ist  unter  Zu¬ 
hilfenahme  der  Schaltung  des 
Rechners  sinngemäß  zu  verfahren. 
Unter  dem  DL  074  sind  auf  der 
Modul platine  2  Löt äugen  angeord¬ 
net.  Sie  verbinden  den  RESET - 
Anschluß  des  DL  074  mit  dem 
System-RESET,  falls  hier  eine 
Drahtbrücke  eingelötet  wird.  Da¬ 
mit  kann  erreicht  werden,  daß 


nach  einem  Reset  des  Rechners 
immer  die  Speicherbank  0  einge¬ 
schaltet  ist.  Bei  einem  RESET 
durch  Unterbrechen  der  Betriebs¬ 
spannung  ist  das  Jedoch  in  Jedem 
Fal  1  gegeben. 

Mit  den  Befehlen  OUT  1,0  und 
OUT  1,  1  kann  zwischen  den  beiden 
Spe  i  eher  ber  e  i  chen  umg  e  s  cha  1 1  e  t 
werden.  Dabei  muß  R AMTOP  aller¬ 
dings  unter  den  umschal  tbaren 
Bereich  gelegt  werden.  Ansonsten 
würde  der  Rechner  beim  Wechsel 
der  Speicherbänke  seinen  Maschi¬ 
nenstapel  "vergessen”.  Das  führt 
zum  Systemabsturzf  Soll  eine 
4ök-Version  des  Spectrum  umge¬ 
rüstet  werden,  so  ist  das  immer 
dann  unproblematisch,  wenn  für 
die  Speicherschaltkreise  Steck¬ 
fassungen  vorgesehen  sind.  Ein 
Aus löten  der  Schaltkreise  setzt 
bei  der  filigranen  Leiterplatte 
große  Erfahrungen  voraus  und 
kann  deshalb  nicht  generell 
empfohlen  werden.  * 


IC 

IC 

IC 

+ 

0 

3 

4 

26 

ULA 

o 

CPU 

o 

T 

IC 

IC 

X 

25 

24 

23 

Bild  5.  77  Ausschnitt  aus  der 
Platine  des  ZX  Spectrum 


63 


5.  11.  3.  RÖH-Erweiterungen 


Wie  bereits  dargelegt,-  Kann  die 
CPU  U  880  lediglich  64  K  Spei¬ 
cher  direkt  adressieren.  Deshalb 
ist  auch  dieser  Abschnitt  nicht 
im  Sinne  einer  Vergrößerung  des 
ROM-Bereiches  zu  verstehen.  Auch 
hier  geht  es  vielmehr  um  einen 
(eventuell  softwaremäßig  schal  t- 
baren)  Austausch  des  internen 
ROMs  durch  einen  oder  mehrere 
andere  ROMs  (oder  EPROMs)  glei¬ 
cher  Qder  geringerer  Speicherka¬ 
pazität.  Diese  ROMs  könnten 
z.  B.  ein  geändertes  Betriebs¬ 
system  oder  eine  andere  Program¬ 
miersprache  enthalten.  Darüber 
hinaus  ist  es  möglich,  das  in¬ 
terne  ROM  nur  bei  einem  bestimm¬ 
ten  Bitmuster  auf  dem  Adreßbus 
(in  Verbindung  mit  MREQ  i  0) 
abzuschalten  und  dafür  ein  ex¬ 
ternes  ROM  einzublenden.  Auf 
diese  Weise  können  einzelne 
Routinen  des  Original -ROMs  geän- 


84 


dert  werden,  was  für  die  Einbin¬ 
dung  von  Treibern  für  system¬ 
fremde  Drucker  oder  Massenspei¬ 
cher  (Floppy-Disk)  interessant 
werden  kann.  Darauf  wird  hier 
Jedoch  nicht  näher  eingegangen. 
Im  Bild  5.  78  ist  die  Anschlußbe¬ 
legung  des  Original -ROMs  des 

ULA  PIN  34 


Bild  5.  79  ROM-Ersatz  durch 
1  x  27128 


ROMCS 
ULA  34 


Spectrum-ROM 


Tal>elle  5.24  Piribelegung  der  wichtigsten  EPROM-Typen 


CO 

£ 

X 

00 

o 

CU 

K 

> 

lg 

ro 

O 

PH 

<D 

tr¬ 

id 

Fn 

oo 

er 

^  1 

|W 

H 

IW 

tr- 

UO 

ID 

ro 

W 

eu 

+ 

(Pi 

< 

< 

< 

<  1 

Io 

C 

IC 

P 

p 

P 

P 

P 

00 

£ 

O 

K 

=* 

« 

UO 

> 

|£ 

h-H 

O 

Ph 

io 

O 

o0 

er 

|W 

H-i 

IW 

c- 

U0 

ID 

ro 

0 

00 

cu 

+ 

Iph 

£ 

< 

< 

<1 

Io 

<llo 

P 

p 

P 

P 

P 

00 

PU 

£ 

PU 

O 

K 

cu 

p 

« 

ro 

> 

■H 

\ 

o 

Ph 

t> 

UO 

00 

er 

•H 

w 

tH 

|W 

tr- 

UO 

ID 

ro 

0 

cu 

+ 

< 

C 

C 

o 

<; 

Io 

P 

p 

P 

P 

P 

o0 

i 

£ 

-O 

X 

uo 

Ph 

> 

PU 

o 

Ph 

tr¬ 

UO 

oO 

PU  IW 

H  1 

IW 

tr- 

UO 

ID 

ro 

0 

CU 

eu 

+ 

c 

<J 

Dl 

IO 

< 

b 

P 

p 

P 

P 

P 

oo 

tr¬ 

UO 

UO 

ro 

cu 

Hl 

o 

Cr 

00 

tr- 

CD 

UO 

cu 

eu 

cu 

cu 

cu 

cu 

cu 

cu 

cu 

tH 

tH 

•H 

^rH 

ro 

cu 

iri 

O 

Os 

oo 

tr- 

U0 

ID 

s* 

ro 

525 

CU 

cu 

cu 

cu 

cu 

tH 

^rH 

h-H 

-H 

^rH 

•H 

H 

00 

Ph 

CU 

cu 

O 

t-1 

cu 

cu 

ro 

5t* 

UO 

(0 

ts 

00 

er 

-r-l 

hH 

O 

tH 

cu 

ro 

■H 

cu 

ro 

UO 

CD 

D- 

00 

cr 

rH 

tH 

■H 

hH 

00 

£ 

CD 

O 

UO 

C0 

w 

co 

tr¬ 

t- 

UO 

UO 

ro 

cu 

O 

O 

•H 

cu 

nd 

0 

CU 

eu 

< 

< 

< 

< 

< 

C 

< 

< 

P 

P 

P 

£ 

00 

£ 

0 

O 

* 

cu 

CO 

Ph 

ro 

10 

Ph 

tr¬ 

tr- 

CD 

UO 

ro 

cu 

■H 

o 

O 

cu 

0 

0 

eu 

C 

< 

< 

< 

< 

< 

< 

P 

P 

p 

£ 

00 

£ 

0 

O 

K 

=* 

CO 

OsS 

UO 

PU  cu 

<1 

CO 

Ph 

JSC 

tr¬ 

Pu 

^rH 

t> 

CD 

ID 

ro 

cu 

o 

O 

▼H 

cu 

flj 

0 

00 

eu 

D 

< 

C 

C 

< 

< 

< 

< 

< 

P 

P 

P 

£ 

00 

£ 

K 

aO 

0 

O 

cu 

10 

« 

X 

PU  cu 

C0 

Ph 

cO 

c- 

PU 

tH 

tr- 

CD 

UO 

ro 

cu 

h-H 

o 

o 

■H 

cu 

cd 

0 

•H 

cu 

P  < 

< 

-c 

< 

< 

C 

< 

c 

p 

P 

p 

£ 

85 


ULA  PIN  3U 


276 4  2764 


Adr.  8192 ...16 383  Adr.  0...  8191 

Bild  5.  SO  ROM-Ersatz  durch  2  x  2764 


ZX  Spectrum.  Die  .Anschlußbele¬ 
gung  der  wichtigsten  EPROM-Typen 
geht  aus  Tabelle  5.24  hervor. 
Man  erkennt,  daß  das  ROM  bis  auf 
die  Anschlüsse  1  und  27  an- 
schlußkompatibel  zum  EPROM  27 126 
ist.  Pin  1  (beim  ROM  nicht  be¬ 
schältet)  ist  lediglich  für  die 
Programmierung  des  EPROMs  inter¬ 
essant  und  wird  daher  nicht 
näher  betrachtet.  Pin  27  des 
ROMs  ist  mit  der  CPU-Leitung 
MREQ  verbunden,  dem  EPROM  27126 
werden  hier  die  Pr  ogrammi  er  im¬ 
pul  se  zugeführt.  Um  dem  ange¬ 
schlossenen  EPROM  dennoch  ein 
aktives  MREQ-Signal  mit zu tei¬ 
len,  wird  es  mit  dem  Signal  CE 
(Pin  20)  verknüpft.  Das  kann 


über  ein  Gatter  eines  DL  032 
erreicht  werden.  Sämtliche  ande¬ 
ren  Anschlüsse'  des  EPROMs  sind 
mit  den  entsprechenden  Anschlüs¬ 
sen  des  ROMs  zu  verbinden.  Da 
Beschaffung  und  Programmierung 
des  EPROMs  27126  mitunter 
Schwierigkeiten  bereiten,  sind 
in  den  Bildern  5.79  bis  5.  öl 
auch  Schal  tungslösungen  unter 
Verwendung  von  EPROM-Typen  klei¬ 
nerer  ^Speicherkapazität  angege¬ 
ben.  Auf  den  Einsatz  des  lk- 
EPROM  2706  ( U  555)  sollte  schon 
wegen  der  unhandlichen  Span¬ 
nungsversorgung  verzichtet  wer¬ 
den,  sofern  der  Rechner  nicht 
über  entsprechende  Schaltungs¬ 
einheiten  verfügt. 


86 


ULA  PIN  34 


W  3: 
£ 


3 

§ 


<Vi  n 

£  ä 

CSI  2 


x5 

< 


8 

T— 

u 

3 


& 

f n 

IS 

<\j 

* 

3 


-M 

S 

i 


QO 

uS 

tJ 

•^i 


87 


\ 


/ 


6, 


Aufbauhinweise 


Für  den  Aufbau  der  vor  st  eilend 
beschriebenen  Modul  e  und  eine 
eventue Ile  Fehl  ersuche  werden 
Grundkenntnisse  der  Mikroelek¬ 
tronik,  insbesondere  der  Mikro¬ 
prozessorfamilie  U  660  ein¬ 
schließlich  des  Signalspiels  der 
CPU,  sowie  Erfahrungen  beim  Auf¬ 
bau  elektronischer  Schaltungen 
und  im  Umgang  mit  elektronischen 
Bauelementen  vorausgesetzt.  Zur 
Inbetriebnahme  der  Platinen  ist 
zumindest  ein  Vielfachmeßgerät, 
besser  auch  ein  Oszilloskop, 
er f order 1 i ch.  Di e  veröf f f ent - 
lichten  Leiterplatten  weisen 
zumeist  einen  Schwierigkeitsgrad 
auf,  der  nur  eine  fotomechani¬ 
sche  Herstellung  sinnvoll  er¬ 
scheinen  läßt.  Dabei  dürfte  der 
Einzel amateur  wahrscheinl ich  auf 
die  Hilfe  von  Elektronik-Ar¬ 
beitsgemeinschaf  ten  oder  spezia¬ 
lisierten  Firmen  angewiesen 
sein. 

Die  Bohrungen  sollten  möglichst 
mit  Spiralbohrern  von  0,  7  oder 
0,  8  mm  Durchmesser  mit  einer 
Bohrmaschine  hoher  Drehzahl 
ausgeführt  werden.  Lediglich  für 
Bauelemente  mit  dickeren  An¬ 
schlüssen  (Taster,  Diodenbuch¬ 
sen,  Stel lwiderstände  usw.  )  sind 
entsprechend  größere  Bohrer  (bis 
etwa  1,  3  mm)  zu  wählen.  Dem 
wurde  bei  der  Platinengestaltung 
bereits  mit  größeren  Lötaugen 
Rechnung  getragen.  Vor  der  Be¬ 


stückung  empfiehlt  sich  eine 
Reinigung  der  Platine  mit  einem 
Putzmittel  und  ein  Einstreichen 
mit  in  Spiritus  gelöstem  Kolo¬ 
phonium.  Ebenfalls  vor  der  Be¬ 
stückung  sollten  alle  zum  Steck¬ 
verbinder  führenden  Leitungen 
mit  einem  Ohmmeter  untereinander 
auf  Feinschluß  geprüft  werden. 
Eventuell  vorhandene  Haarrisse 
in  den  Leiterzügen  werden  mit 
einer  starken  Lupe  aufgespürt 
und  durch  Verzinnen  beseitigt. 
Nach  der  Bestückung  wird  die 
Prüfung  auf  Feinschluß  wieder¬ 
holt,  besonders  bei  den  Daten 
und  Adreßleitungen.  Da  die  mei¬ 
sten  Kleincomputer  einen  unge- 
pufferten  Bus  aufweisen,  kann  es 
bei  Nichtbeachtung  dieser  Vor¬ 
sichtsmaßregeln  zu  Ausfällen 
durch  unbeabsichtigtes  Verbinden 
einzelner  Signal  lei tungen  kom¬ 
men.  Aus  diesem  Grund  dürfen 
sämtliche  Zusatzgeräte  nur  bei 
ausgeschal  teter  Betr J  ebsspannung 
gesteckt  bzw.  abgezogen  werden. 
Man  vermeide  auch  grundsätzlich 
ein  Zurechtrücken  der  Modul e  bei 
eingeschal  tetem  Rechner!  Nach 
vollständiger  Bestückung  ist  die 
Stromaufnahme  zu  kontro 1 1 i er en 
und  die  Betriebsspannung  an  al¬ 
len  Schaltkreisen  nachzuweisen. 
Abgleicharbeiten  an  den  Hard¬ 
ware-Zusätzen  sind  zumeist  nicht 
erforderlich  oder  auf  ein  Mini¬ 
mum  beschränkt. 


89 


t 


7.  Reparaturtips 


Trotz  aller  Vorsicht  Kann  es 
besonders  den  Hardware -Bast lern 
passieren,  daß,  vielleicht  durch 
eine  Unacht  samkeit,  oft  aber 
auch  "einfach  so",  der  Rechner 
streikt.  Einige  an  der  Original - 
Version  des  ZX  Spectrum  immer 
wieder  auf  tretende  Fehler  und 
Möglichkeiten  für  deren  Beseiti¬ 
gung  werden  im  folgenden  be¬ 
schrieben. 

Zur  Eingrenzung  des  Fehlers  wer¬ 
den  zunächst  die  3  Betriebsspan¬ 
nungen  +  5  V,  -5  V  und  +  i2  V 
überprüft.  Das  geht  sehr  einfach 
an  einem  der  16k-RAMs.  Hier 
liegen  -5  V  am  Pin  1,  +12  V  am 
Pin  8,  +5  V  am  Pin  9  und  0  V 
(Masse)  am  Pin  16.  Fehlen  alle 
Spannungen,  wird  der  Fehler  im 
Netzteil  liegen  (Vorsicht  Netz¬ 
spannung!).  Fehlen  +5  V,  kann 
der  Spannungsreg  1  er-Schal  tkrei  s 
7605  die  Ursache  sein.  Dieser 
Typ  liegt  in  der  DDR  nur  als 
Tesia- Import  in  einem  viel  grö¬ 
ßeren  Gehäuse  vor.  Es  ist  des¬ 
halb  günstiger,  für  den  7605 
einen  Spannungsregler  B  3170 
oder  B  3171  zu  verwenden.  Die 
dafür  erforderlichen  Widerstände 
zur  Einstellung  der  Ausgangs¬ 
spannung  sind  bequem  noch  im 
Spectru/n-Gehäuse  unterzubringen. 
Man  beachte  die  unterschiedli¬ 
chen  Anschlußbelegungen  der 
Schaltkreise ! 

Der  mit  Abstand  häufigste  Defekt 
ist  der  Ausfall  des  Transver¬ 
ters,  der  -5  V  und  +12  V  für  di.e 
8  dynamischen  16K-RAMs  erzeugt. 
Dieser  Fehler  tritt  manchmal 
allein,  oft  aber  in  Verbindung 


mit  dem  Ausfall  eines  der  8  16k- 
RAMs  auf.  Zur  Fehlersuche  können 
die  beiden  Transistoren  des 
Transverters  ausgelötet  und 
überprüft  werden.  In  der  Origi¬ 
nalschaltung  des  ZX  Spectrum 
werden  die  Typen  ZTX  651  (TR4  - 
npn)  und  ZTX  £13  (TR5  -  pnp) 
verwendet.  Im  Fehl erf al 1  können 
diese  Transistoren  durch  die 
Typen  SF  616  bis  SF  619  bzw. 
SF  626  bis  SF  629  ersetzt  wer¬ 
den.  Diese  Nachfolge  typen  der 
bekannten  SF  116  bis  SF  119  bzw. 
SF  1$6  bis  SF  129  sind  in  einem 
potential  freien  Plastgehäuse 
verkappt,  was  bei  dem  gedrängten 
Aufbau  vorteilhaft  ist.  Fehlen 
-5  V  und  +12  V  nach  Transistor¬ 
wechsel  noch  immer,  ist  noch 
eines  der  8  16k-RAMs  defekt.  Am 
einfachsten  findet  man  den  de¬ 
fekten  Schaltkreis  durch  oszil- 
loskopische  Kontrolle  der  8  Da¬ 
tenleitungen.  Dabei  ist  es  gele¬ 
gentlich  vorteilhaft,  den  RESET - 
Eingang  der  CPU  über  einen  Wi¬ 
derstand  von  etwa  1  kß  auf  Masse 
zu  legen.  Die  dem  defekten  RAM 
zugeordnete  Datenleitung  zeigt 
zeigt  einen  auffälligen  Pegel. 
Als  Ersatztyp  für  die  RAMs  4116 
eignen  sich  U  256  der  DDR -Pro¬ 
duktion.  Sollte  nach  diesen  Ma߬ 
nahmen  der  Rechner  noch  nicht 
arbeiten,  kann  der  Fehler  noch 
an  der  CPU,  dem  ROM  oder  dem  ULA 
liegen.  Für  den  Z  60  kann  eine 
CPU  VA  660  eingesetzt  werden. 
Oft  arbeitet  zunächst  auch  ein 
UB- Typ,  der  aber  bei  Erwärmung 
des  Rechners  aussetzen  kann.  Der 
ROM  kann  durch  ein  EPROM  ent- 


91 


sprechenden  Inhalts  ersetzt  wer¬ 
den.  Ein  defektes  ULA  läßt  sich 
hei  vertretbarem  Aufwand  nur 
durch  einen  Original  schal  tkreis 
ersetzen. 

Ein  in  Verbindung  mit  dem  Inter¬ 
face  I  häufig  auftretender  Feh¬ 


ler  ist  das  Fehlen  des  Mi -Si¬ 
gnals  der  CPU.  Festgestellt  wird 
der  Fehler  wieder  durch  oszil- 
loskopische  Kontrolle.  Auch  in 
diesem  Fall  ist  ein  CPU-Wechsel 
erforderlich. 


8. 


Literaturverzeichnis 


[1]  VEB  Mikroelektronik  Karl 
Marx  Erfurt,  Mikroprozes¬ 
sorsystem  der  II.  Lei¬ 
stungsklasse,  Technische 
Beschreibung  CPU,  PIO,  SIO, 
CTC  und  DMA,  Erfurt  1984 

[2]  H.  Kleser/M.  Meder ,  Mikro¬ 
prozessortechnik,  Ber 1 in 
1986 

[3]  H.  Barthol d/H.  Bäurlch ,  Mi¬ 
kroprozessoren  -  Mikroelek¬ 
tronische  Schaltkreise  und 
ihre  Anwendung,  Berlin  1985 

[4]  R.  Egel  er >  ZX  Spectrum 

Hardware,  '  Haar  1985 

[5]  L.  Schüssler ,  ZX  Spectrum 
Hardware -Erwe i t  erung  en, 
Düsseldorf  1984 

[6]  M.  James ,  Der  Weg  zur  ZX - 
Spec  trum-Me  i  s  t  er  s  chaf  t , 
Würzburg  1985 

[7]  K.  Schlenzlg/S.  Schlenzlg, 
Tips  und  Tricks  für  kleine 
Computer,  Berlin  1986 

[8]  A.  Bogatz ,  Mikrorechner  in 
der  Amateurmeßtechnik, 
Berlin  1988 


[9]  M.  Kramer ,  Praktische  Mi¬ 
krocomputertechnik,  Ber 1 in 
1987 

[10]  H.  Kleser/M.  Banke' 1 ,  Ein- 
chlpmikrorechner,  Berlin 
1986 

[11]  Allerlei.  In:  Elektor 

6/1984,  S.  48f  f . 

[12]  Joystick-Anschluß  an  den 

ZX  Spectrum.  In:  Radlo- 

technika  4/1985,  S.  7ff.. 

[13]  Spe  i  eher  erwe  it  erung  en  für 

den  ZX  Spectrum.  In:  Radio- 
technika  7/1985,  S.  9ff. 

[14]  R.  Arenz/M.  Görlitz ,  Das 
Sinclair  Spectrum  ROM, 
München  1984 

[15]  Sinclair  Research  Ltd.  , 
ZX  Spectrum  Benutzerhand¬ 
buch  (Deutsche  Überset¬ 
zung  ) ,  München  1984 

[16]  U.  Fischer ,  Beta  Basic  3.0 

Deutsches  Handbuch,  Hamburg 
1985 


V 


I 


‘  i 


; 


I 


V' 


1 


1 


iO  io 


Inhaltsverzeichnis 


Vorwort .  3 

i.  Das  t/-£50-Prozessorsystem .  5 

i.  1.  CPU  U  SSO . '. . . .  5 

1.  2.  PIO  U  S55 . .  6 

1.  3.  SIO  U  S56 . ' .  6 

1.  4.  CTC  U  S57 .  9 

1.5.  DMA  U  S5S . . . 10 

2.  Der  Aufbau  eines  Kleincomputers .  11 

3.  Spezial  Schaltkreise  für  Kleincomputer  .  .  13 

4.  Adreßdekodierung .  15 

Hardware-Erweiterungen .  17 

.1.  Der  Erweiterungsanschluß  des  ZX  Spec¬ 
trum  . ‘ . . .  17 

5.2.  Reset-Taste . .  .  .  19 

5.  3.  Video-Anschluß . 20 

5.  4.  Lichtstift .  20 

5.5.  Joystick-Anschluß .  22 

5.  5.  1.  Joystick-Anschluß  ohne  Zusatzhardware  .  .  23 

5.  5.  2.  Joystick-Anschluß  über  Peripherieschalt¬ 
kreise .  25 

5.  5.  3.  Kemps  ton- Joystick. .  25 

5.  5.  4.  Zusatzfunktionen  für  Joysticks .  28 

5.5.  Paral  lei -Schnittstel  len . 31 

5.6.1.  Paral  lei -Schnittstel  len  mit  Register¬ 
schal  tkreisen .  31 

5.6.2.  Paral  lei -Schnittstel  le  mit  der  PIO 

U  S55 . . r.  .  32 

5.6.3.  Centronlcs-Schnlttstel  le .  36 

5.  6.  4.  Programmierung  der  PIO  U  S55  im  Inter¬ 
ruptbetrieb  . . . . .  .  .  .  42 

5.6.5.  Paral  lei -Schnittstelle  mit  der  PIO 

S255  . 42 

5.7.  .  Serielle  Schnittstellen  . .  43 

5.  7.  1.  Anschluß  der  ERIKA  S  5004  .  45 

5.  7.  2.  Fernschreiber-Anschluß .  54 

5.  8.  Pegel anpassung  für  Kassettenrekorder  ...  55 

•  5.  8.  1.  Das  Bandformat . ‘ .  58 


95 


- .  '  \ 

* 

5.9.  Anwendungen  von  Kleincomputern  in  der 

Meß-  und  Prüftechnik .  59 

5.  9.  1.  Ö-Kanal -Digital Voltmeter . .  59 

5.  9.  2.  Schal  tkreistester . 65 

5.  10.  Zusammenschaltung  mehrerer  Zusatzmo- 

,  dule . 75 

5.  10.  1.  Busverlängerung .  75 

5.  10.  2.  Adapter .  76 

5.  10.  3.  Bustreiher . . .  77 

5.  11.  Speicher-Erweiterungen .  öl 

5.  11.  1.  RAM-Erweiterung  von  16  k  auf  46  k .  öl 

5.  11.  2.  RAM-Erweiterung  von  46  k  auf  ÖO  k .  61 

5.  11,  3.  ROM-Erweiterungen  .  .  .• . . .  ,  .  64 

6.  Auffcauhinweise . . 1  69 

7.  Reparaturtips .  91 

ö.  Literaturverzeichnis . 93 


i 


\ 


Computer  werden  heute  im  Heim-,  Hobby-  oder  Geschäfts¬ 
bereich  vielseitig  eingesetzt  Besonders  der  internationale 
Vertreter  der  8-bit-Technik,  der  ZX  Spectrum,  ist  auch 
in  der  DDR  und  im  gesamten  RGW-Bereich  weit  verbreitet. 
Zur  Erhöhung  der  Leistungsfähigkeit  dieses  Heimcomputers 
werden  in  diesem  Buch  neben  dem  Aufbau  u.  a.  folgende 
Hardware-Erweiterungen  beschrieben: 

*  Erweiterungsanschluß  des  ZX  Spectrum 

*  Reset-Taste 

*  Video-Anschluß 

*  Lichtstift 

*  serielle  Schnittstellen 

*  Pegelanpassung  für  Kassettenrecorder 

*  8-Kanal-Digitalvoltmeter 

*  Schaltkreistester 

*  Busverlängerung 

*  Adapter 

*  Speichererweiterungen 
sowie 

*  Reparaturtips 


ISBN  3-327-01030-7 
DDR  6,20  M